ARGOMENTO about_For DESCRIZIONE BREVE Descrive un comando del linguaggio che è possibile utilizzare per eseguire istruzioni in base a un test condizionale. DESCRIZIONE DETTAGLIATA L'istruzione For, nota anche come ciclo For, è un costrutto del linguaggio che è possibile utilizzare per la creazione di un ciclo che esegue i comandi di un blocco di comandi per tutto il tempo in cui una condizione specifica restituisce il valore true. Un tipico utilizzo del ciclo For consiste nello scorrere una matrice di valori e operare su un sottoinsieme di tali valori. Nella maggior parte dei casi, se si desidera scorrere tutti i valori in una matrice, potrebbe essere preferibile utilizzare un'istruzione Foreach. Sintassi Di seguito viene illustrata la sintassi dell'istruzione For. for (<inizializzazione>; <condizione>; <ripetizione>) {<elenco di istruzioni>} Il segnaposto <inizializzazione> rappresenta uno o più comandi, separati da virgole, eseguiti prima dell'inizio del ciclo. La parte <inizializzazione> dell'istruzione viene in genere utilizzata per creare e inizializzare una variabile con un valore iniziale. Tale variabile costituirà quindi la base per la condizione da verificare nella parte successiva dell'istruzione For. Il segnaposto <condizione> rappresenta la parte dell'istruzione For che restituisce un valore booleano true o false. In Windows PowerShell la condizione viene valutata a ogni esecuzione del ciclo For. Se l'istruzione restituisce true, vengono eseguiti i comandi inclusi nel blocco di comandi, quindi l'istruzione viene valutata di nuovo. Se l'istruzione restituisce ancora true, vengono nuovamente eseguiti i comandi inclusi nell'elenco di istruzioni. Il ciclo viene ripetuto fino a quando la condizione non risulta false. Il segnaposto <ripetizione> rappresenta uno o più comandi, separati da virgole, eseguiti a ogni ripetizione del ciclo. In genere, questa parte viene utilizzata per modificare una variabile verificata nella parte <condizione> dell'istruzione. Il segnaposto <elenco istruzioni> rappresenta un set di uno o più comandi che vengono eseguiti ogni volta che il ciclo viene immesso o ripetuto. Il contenuto dell'elenco di istruzioni è racchiuso tra parentesi graffe. Esempi Un'istruzione For deve essere almeno costituita dalle parti <inizializzazione>, <condizione> e <ripetizione> racchiuse tra parentesi e da un comando tra parentesi graffe all'interno della parte <elenco istruzioni>. Nei primi esempi tra quelli seguenti il codice è stato aggiunto di proposito esternamente all'istruzione For. Negli esempi successivi il codice è integrato all'interno dell'istruzione for. Nell'istruzione For seguente, ad esempio, viene ripetutamente visualizzato il valore della variabile $i fino a quando non si interrompe manualmente l'esecuzione del comando premendo CTRL+C. $i = 1 for (;;){Write-Host $i} È possibile aggiungere ulteriori comandi all'elenco di istruzioni affinché il valore di $i venga incrementato di 1 a ogni esecuzione del ciclo, come illustrato nell'esempio seguente: for (;;){$i++; Write-Host $i} Fino a quando non si interrompe l'esecuzione del comando premendo CTRL+C, l'istruzione visualizzerà ripetutamente il valore della variabile $i a ogni incremento di 1 conseguente a ogni esecuzione del ciclo. Anziché modificare il valore della variabile nella parte <elenco istruzioni> dell'istruzione For, è possibile utilizzare la parte <ripetizione> come segue. $i=1 for (;;$i++){Write-Host $i} Questa istruzione viene eseguita in modo continuo fino a quando non si interrompe manualmente l'esecuzione del comando premendo CTRL+C. Impostando una condizione, tramite la parte <condizione> dell'istruzione For, è possibile terminare il ciclo For quando la condizione restituisce false. Nell'esempio seguente il ciclo For viene eseguito per tutto il tempo in cui il valore di $i è minore o uguale a 10. $i=1 for(;$i -le 10;$i++){Write-Host $i} Anziché creare e inizializzare la variabile esternamente all'istruzione For, è possibile eseguire questa operazione all'interno del ciclo For utilizzando la parte <inizializzazione> dell'istruzione. for($i=1; $i -le 10; $i++){Write-Host $i} È possibile utilizzare ritorni a capo, anziché punti e virgola, per delimitare le parti <inizializzazione>, <condizione> e <ripetizione> dell'istruzione For. Nell'esempio seguente viene illustrata la sintassi dell'istruzione For in questo formato alternativo. for (<inizializzazione> <condizione> <ripetizione>){ <elenco istruzioni> } Tale formato alternativo dell'istruzione For può essere utilizzato nei file script e nel prompt dei comandi di Windows PowerShell. È tuttavia più semplice utilizzare la sintassi dell'istruzione For nel formato con i punti e virgola quando si immettono comandi interattivi al prompt dei comandi. Il ciclo For è più flessibile del ciclo Foreach, in quanto consente di incrementare i valori in una matrice o un insieme tramite l'utilizzo di criteri. Nell'esempio seguente la variabile $i viene incrementata di 2 nella parte <ripetizione> dell'istruzione for. for ($i = 0; $i -ile 20; $i += 2) {Write-Host $i} VEDERE ANCHE about_Comparison_Operators about_Foreach