Differenze tra le versioni di "Estrae elementi da un array"
imported>Root |
imported>Root |
||
(3 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
==Tipologia== | |||
Azione di workflow con esecuzione '''lato server'''. | |||
==Descrizione== | ==Descrizione== | ||
Questa azione permette di esaminare il contenuto di un array, estraendo un numero variabile di suoi elementi. L'array di partenza può essere lasciato inalterato oppure può essere ricalcolato eliminando gli elementi estratti. | Questa azione permette di esaminare il contenuto di un array, estraendo un numero variabile di suoi elementi. L'array di partenza può essere lasciato inalterato oppure può essere ricalcolato eliminando gli elementi estratti. | ||
Riga 14: | Riga 17: | ||
*'''TAIL''': Viene estratto l'ultimo elemento dell'array. Se l'array e' vuoto viene generato un errore ed il flusso si interrompe. | *'''TAIL''': Viene estratto l'ultimo elemento dell'array. Se l'array e' vuoto viene generato un errore ed il flusso si interrompe. | ||
*'''INDEX''': Viene estratto l'elemento indicato dal parametro '''index''' (compare solo in questa modalità). L'indice ha base | *'''INDEX''': Viene estratto l'elemento indicato dal parametro '''index''' (compare solo in questa modalità). L'indice ha base 1 (uno), quindi il primo elemento ha indice 1. Se l'indice e' non specificato oppure esce dalla disponibilità dell'array viene generato un errore ed il flusso si interrompe. | ||
*'''RANGE''': Viene estratto un sotto insieme di elementi indicato dai parametri '''from_index''' e '''to_index''' (compaiono solo in questa modalità). Gli indici hanno base | *'''RANGE''': Viene estratto un sotto insieme di elementi indicato dai parametri '''from_index''' e '''to_index''' (compaiono solo in questa modalità). Gli indici hanno base 1 (uno), quindi il primo elemento ha indice 1. Se gli indici sono non specificati oppure se escono dalla disponibilità dell'array oppure se sono in ordine errato viene generato un errore ed il flusso si interrompe. | ||
'''''Nota:''' L'estrazione | '''''Nota:''' L'estrazione comprende entrambi gli indici. | ||
'''Esempio:''' Array contenente [ a, b, c, d, e, f ]. Se '''from_index'''=2 e '''to_index'''=4 il risultato sarà [ c, d ] (vengono estratti gli elementi con indice 2 e | '''Esempio:''' Array contenente [ a, b, c, d, e, f ]. Se '''from_index'''=2 e '''to_index'''=4 il risultato sarà [ b, c, d ] (vengono estratti gli elementi con indice 2, 3 e 4). | ||
===(IN) remove=== | ===(IN) remove=== | ||
Riga 35: | Riga 38: | ||
===(OUT) modified_array=== | ===(OUT) modified_array=== | ||
Rappresenta l'array modificato se si attiva la modalità '''remove'''=1. | Rappresenta l'array modificato se si attiva la modalità '''remove'''=1. | ||
Versione attuale delle 11:06, 17 mar 2010
Tipologia
Azione di workflow con esecuzione lato server.
Descrizione
Questa azione permette di esaminare il contenuto di un array, estraendo un numero variabile di suoi elementi. L'array di partenza può essere lasciato inalterato oppure può essere ricalcolato eliminando gli elementi estratti.
Parametri
(IN) array
Rappresenta l'array dal quale vogliamo estrarre gli elementi.
(IN) position
Indica la posizione dell'elemento da estrarre. Esistono le seguenti possibilità:
- HEAD: Viene estratto il primo elemento dell'array. Se l'array e' vuoto viene generato un errore ed il flusso si interrompe.
- TAIL: Viene estratto l'ultimo elemento dell'array. Se l'array e' vuoto viene generato un errore ed il flusso si interrompe.
- INDEX: Viene estratto l'elemento indicato dal parametro index (compare solo in questa modalità). L'indice ha base 1 (uno), quindi il primo elemento ha indice 1. Se l'indice e' non specificato oppure esce dalla disponibilità dell'array viene generato un errore ed il flusso si interrompe.
- RANGE: Viene estratto un sotto insieme di elementi indicato dai parametri from_index e to_index (compaiono solo in questa modalità). Gli indici hanno base 1 (uno), quindi il primo elemento ha indice 1. Se gli indici sono non specificati oppure se escono dalla disponibilità dell'array oppure se sono in ordine errato viene generato un errore ed il flusso si interrompe.
Nota: L'estrazione comprende entrambi gli indici.
Esempio: Array contenente [ a, b, c, d, e, f ]. Se from_index=2 e to_index=4 il risultato sarà [ b, c, d ] (vengono estratti gli elementi con indice 2, 3 e 4).
(IN) remove
Indica se gli elementi estratti devono anche essere rimossi dall'array (1) oppure se devono rimanervi (0). Nel primo caso compare il parametro di output modified_array, contenente l'array modificato.
Nota: Per memorizzare la modifica all'array originale, è necessario prelevare il valore del risultato modified_array e copiarlo in un attributo di classe. In caso contrario l'array usato in input non verrà alterato in alcun modo.
(IN) type
Indica il tipo degli elementi richiesto in output. Se gli elementi dell'array non sono di questo tipo allora vengono convertiti. Anche il valore del risultato modified_array viene influenzato da questo parametro.
(OUT) result
Rappresenta il risultato dell'estrazione. Sarà uno scalare se si utilizza HEAD, TAIL, INDEX, mentre sarà un array se si utilizza RANGE.
(OUT) modified_array
Rappresenta l'array modificato se si attiva la modalità remove=1.