

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# FlexMatchespressioni di proprietà
<a name="match-rules-reference-property-expression"></a>

Le espressioni di proprietà possono essere utilizzate per definire determinate proprietà relative al matchmaking. Consentono di utilizzare calcoli e logica per definire il valore di una proprietà. Le espressioni di proprietà si presentano generalmente in una delle due forme seguenti: 
+ Dati dei singoli giocatori.
+ Raccolte calcolate di dati dei singoli giocatori.

## Espressioni di proprietà di matchmaking comuni
<a name="match-rules-reference-property-expression-common"></a>

Un'espressione di proprietà identifica un valore specifico per un giocatore, una squadra o una partita. Le seguenti espressioni parziali illustrano come identificare team e giocatori: 


| Obiettivo | Input | Significato | Output | 
| --- | --- | --- | --- | 
| Per identificare un determinato team in un abbinamento: | teams[red] | Team "red" | Team  | 
| Per identificare un insieme di squadre specifiche in una partita: | teams[red,blue] | La squadra rossa e la squadra blu | List<Team> | 
| Per identificare tutti i team in un abbinamento: | teams[\*] | Tutti i team | List<Team> | 
| Per identificare i giocatori in un determinato team: | team[red].players | Giocatori del team "red"  | List<Player> | 
| Per identificare i giocatori in una serie di squadre specifiche in una partita: | team[red,blue].players | Giocatori nell'abbinamento, raggruppati per team | List<List<Player>> | 
| Per identificare i giocatori in un abbinamento: | team[\*].players | Giocatori nell'abbinamento, raggruppati per team | List<List<Player>> | 

## Esempi di espressioni di proprietà
<a name="match-rules-reference-property-expression-examples"></a>

La tabella seguente illustra alcune espressioni di proprietà basate sugli esempi precedenti:


****  

| Expression | Significato | Tipo risultante | 
| --- | --- | --- | 
| `teams[red].players[playerId]` | Il giocatore IDs di tutti i giocatori della squadra rossa | List<string> | 
| teams[red].players.attributes[skill] | Attributi "skill" di tutti i giocatori del team "red" | List<number> | 
| teams[red,blue].players.attributes[skill] | Gli attributi di «abilità» di tutti i giocatori della squadra rossa e della squadra blu, raggruppati per squadra | List<List<number>> | 
| teams[\*].players.attributes[skill] | Attributi "skill" di tutti i giocatori dell'abbinamento, raggruppati per team | List<List<number>> | 

## Aggregazioni di espressioni di proprietà
<a name="match-rules-reference-property-expression-aggregation"></a>

Le espressioni di proprietà possono essere utilizzate per aggregare i dati dei team utilizzando le seguenti funzioni o combinazioni di funzioni:


****  

| Aggregazione | Input | Significato | Output | 
| --- | --- | --- | --- | 
| min | List<number> | Ottiene il minimo di tutti i numeri nell'elenco. | numero | 
| max | List<number> | Ottiene il massimo di tutti i numeri nell'elenco. | numero | 
| avg | List<number> | Ottiene la media di tutti i numeri nell'elenco. | numero | 
| median | List<number> | Ottiene la mediana di tutti i numeri nell'elenco. | numero | 
| sum | List<number> | Ottiene la somma di tutti i numeri nell'elenco. | numero | 
| count | List<?> | Ottiene il numero di elementi nell'elenco. | numero | 
| stddev | List<number> | Ottiene la deviazione standard di tutti i numeri nell'elenco. | numero | 
| flatten | List<List<?>> | Trasforma una raccolta di elenchi nidificati in un singolo elenco contenente tutti gli elementi. | List<?> | 
| set\_intersection | List<List<string>> | Ottiene un elenco di stringhe che si trovano in tutti gli elenchi di stringhe di una raccolta. | List<string> | 
| Tutti i formati sopra elencati | List<List<?>> | Tutte le operazioni su un elenco nidificato operano singolarmente su ogni sottoelenco per ottenere un elenco di risultati. | List<?> | 

La tabella riportata di seguito mostra alcune espressioni di proprietà valide che utilizzano le funzioni di aggregazione: 


****  

| Expression | Significato | Tipo risultante | 
| --- | --- | --- | 
| flatten(teams[\*].players.attributes[skill]) | Attributi "skill" di tutti i giocatori dell'abbinamento (non raggruppati) | List<number> | 
| avg(teams[red].players.attributes[skill]) | Livello di competenza medio dei giocatori del team "red" | numero | 
| avg (teams [\*] .players.attributes [abilità]) | Livello di competenza medio di ogni team nell'abbinamento | List<number> | 
| avg(flatten(teams[\*].players.attributes[skill])) | Livello di competenza medio di tutti i giocatori dell'abbinamento. L'espressione ottiene un elenco appiattito delle competenze dei giocatori e quindi ne calcola la media. | numero | 
| count(teams[red].players) | Numero di giocatori del team "red" | numero | 
| count (teams[\*].players) | Numero di giocatori di ogni team nell'abbinamento | List<number> | 
| max(avg(teams[\*].players.attributes[skill])) | Livello di competenza del team più elevato nella corrispondenza  | numero | 