

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# FlexMatch 屬性表達式
<a name="match-rules-reference-property-expression"></a>

屬性表達式可用來定義特定配對相關屬性。它們可讓您在定義屬性值時使用計算和邏輯。屬性表達式通常會產生兩種形式之一：
+ 個別玩家資料。
+ 計算個別玩家資料的集合。

## 常見的配對屬性表達式
<a name="match-rules-reference-property-expression-common"></a>

屬性表達式可識別玩家、團隊或配對的特定值。以下部分表達式說明了如何辨識團隊和玩家：


| 目標 | Input | 意義 | Output | 
| --- | --- | --- | --- | 
| 辨識配對中的特定團隊： | teams[red] | 紅隊 | 團隊  | 
| 若要識別配對中的一組特定團隊： | teams[red,blue] | 紅隊和藍隊 | List<Team> | 
| 辨識配對中的所有團隊： | teams[\$1] | 所有團隊 | List<Team> | 
| 辨識特定團隊中的玩家： | team[red].players | 紅隊中的玩家  | List<Player> | 
| 若要在配對中識別一組特定隊伍中的玩家： | team[red,blue].players | 配對的玩家，依照團隊分組 | List<List<Player>> | 
| 辨識配對中的玩家： | team[\$1].players | 配對的玩家，依照團隊分組 | List<List<Player>> | 

## 屬性表達式範例
<a name="match-rules-reference-property-expression-examples"></a>

下表說明一些以先前範例為基礎的屬性表達式：


****  

| 表達式 | 意義 | 結果類型 | 
| --- | --- | --- | 
|  `teams[red].players[playerId]`  | 紅隊所有玩家的玩家 ID | List<string> | 
| teams[red].players.attributes[skill] | 紅隊所有玩家的「技能」屬性 | List<number> | 
| teams[red,blue].players.attributes[skill] | 紅隊和藍隊上所有玩家的「技能」屬性，依隊伍分組 | List<List<number>> | 
| teams[\$1].players.attributes[skill] | 配對的所有玩家的「技能」屬性 (依照團隊分組) | List<List<number>> | 

## 屬性表達式彙總
<a name="match-rules-reference-property-expression-aggregation"></a>

屬性表達式可用於使用以下函式或組合函式來整合團隊資料：


****  

| 聚合 | Input | 意義 | Output | 
| --- | --- | --- | --- | 
| min | List<number> | 取得列表中所有數字的最小值。 | number | 
| max | List<number> | 取得列表中所有數字的最大值。 | number | 
| avg | List<number> | 取得列表中所有數字的平均值。 | number | 
| median | List<number> | 取得列表中所有數字的中間值。 | number | 
| sum | List<number> | 取得列表中所有數字的總和。 | number | 
| count | List<?> | 取得列表中所有元素的數量。 | number | 
| stddev | List<number> | 取得列表中所有數字的標準差。 | number | 
| flatten | List<List<?>> | 將嵌套清單的集合變成包含所有元素的單一清單。 | List<?> | 
| set\$1intersection | List<List<string>> | 取得在集合的所有字串清單中找到的字串清單。 | List<string> | 
| 以上全部 | List<List<?>> | 對嵌套列表的所有操作會對每個子列表執行一次以產生結果列表。 | List<?> | 

下表說明使用彙總函式的部分有效屬性表達式：


****  

| 表達式 | 意義 | 結果類型 | 
| --- | --- | --- | 
| flatten(teams[\$1].players.attributes[skill]) | 配對的所有玩家的「技能」屬性 (未分組) | List<number> | 
| avg(teams[red].players.attributes[skill]) | 紅隊玩家的平均技能 | number | 
| avg(teams【\$1】.players.attributes【skill】) | 配對中的每個團隊的平均技能 | List<number> | 
| avg(flatten(teams[\$1].players.attributes[skill])) | 配對中的所有玩家的平均技能級別。此表達式取得玩家技能的展平列表，然後計算它們的平均值。 | number | 
| count(teams[red].players) | 紅隊玩家的數量 | number | 
| count (teams[\$1].players) | 配對中的每個團隊的玩家數量 | List<number> | 
| max(avg(teams[\$1].players.attributes[skill])) | 配對中的最高團隊技能級別  | number | 