

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# FlexMatch 속성 표현식
<a name="match-rules-reference-property-expression"></a>

속성 표현식은 매치메이킹과 관련된 특정 속성을 참조하는 데 사용할 수 있습니다. 이를 통해 속성 값을 정의할 때 계산과 로직을 사용할 수 있습니다. 속성 표현식의 결과는 일반적으로 다음 두 가지 형식 중 하나를 취합니다.
+ 개별 플레이어 데이터.
+ 개별 플레이어 데이터의 계산된 컬렉션.

## 일반적인 매치메이킹 속성 표현식.
<a name="match-rules-reference-property-expression-common"></a>

속성 표현식은 플레이어, 팀 또는 매치의 특정 값을 식별합니다. 다음의 부분 표현식이 팀 및 플레이어 식별 방식을 설명합니다.


| Goal | Input | 의미 | 출력 | 
| --- | --- | --- | --- | 
| 매치에서 특정 팀을 식별하는 방법: | teams[red] | 레드 팀 | Team  | 
| 매치에서 특정 팀 집합을 식별하는 방법: | teams[red,blue] | Red 팀 및 Blue 팀 | List<Team> | 
| 매치에서 모든 팀을 식별하는 방법: | teams[\$1] | 모든 팀 | List<Team> | 
| 특정 팀에서 플레이어를 식별하는 방법: | team[red].players | Red 팀에 있는 플레이어  | 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] | Red 팀과 Blue 팀에 속한 모든 플레이어의 “skill” 속성(팀별로 그룹화) | List<List<number>> | 
| teams[\$1].players.attributes[skill] | 매치에 속한 모든 플레이어(팀별 그룹화)의 "스킬" 속성 | List<List<number>> | 

## 속성 표현식 집계
<a name="match-rules-reference-property-expression-aggregation"></a>

속성 표현식은 다음 함수 또는 함수 조합을 사용하여 팀 데이터를 집계하는 데 사용할 수 있습니다.


****  

| 집계 | Input | 의미 | 출력 | 
| --- | --- | --- | --- | 
| 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 | 