Differenze tra le versioni di "Estrae elementi da un array"

Da wiki.maggioli.it.
Jump to navigation Jump to search
imported>Root
imported>Root
Riga 3: Riga 3:


==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.


==Parametri==
==Parametri==
Riga 11: Riga 11:


===(IN) position===
===(IN) position===
Indica la posizione dell'elemento da estrarre. Esistono le seguenti possibilità:
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.
*'''HEAD''': Viene estratto il primo elemento dell'array. Se l'array e' vuoto viene generato un errore ed il flusso si interrompe.
Riga 17: 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 0 (zero), quindi il primo elemento ha indice 0. Se l'indice e' non specificato oppure esce dalla disponibilità dell'array 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 0 (zero), quindi il primo elemento ha indice 0. 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.
*'''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 avviene secondo lo standard Java, quindi vengono estratti gli elementi dall'indice '''from_index''' includo all'indice '''to_index''' escluso''
'''''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 3).
'''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===
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.
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.''
'''''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===
===(IN) type===
Riga 34: Riga 34:


===(OUT) result===
===(OUT) result===
Rappresenta il risultato dell'estrazione. Sarà uno scalare se si utilizza '''HEAD''', '''TAIL''', '''INDEX''', mentre sarà un array se si utilizza '''RANGE'''.
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===
===(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.
 
'''''Nota:''' Utilizzando la modalità '''RANGE''' e rimuovendo zero elementi (ad esempio range da 0 a 0) è possibile usare questa azione per convertire il tipo di un array.''
[[Immagine:Esempio.jpg]]

Versione delle 10: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.