Il while esegue il corpo zero o più volte fino a quando la sua condizione è vera.
while <condition>
# do this
end
Il ciclo while può sostituire il ciclo "for" di Java. In Java,
for (initialization;, condition;, incrementation;){
//code
}
è stessa seguente (tranne il secondo modulo, variabili inizializzate non sono locali per-loop).
initialization;
for(, condition;,) {
//code
incrementation;
}
Il ciclo "while" di ruby può essere scritto in questo modulo per funzionare come ciclo di Java. In Ruby,
initialization;
while(condition)
# code
incrementation;
end
noti che il 'mentre' (e 'fino a' e 'per') ciclo non introduce un nuovo ambito; i locals precedentemente esistenti possono essere utilizzati nel ciclo e in seguito saranno disponibili nuovi locals creati.
'each_with_index' non è più lento di una ricerca di matrice per ciascun elemento. Dovrebbe essere un po 'più veloce. – Chuck
Corretto, ma se non si esegue la ricerca della matrice per ogni iterazione del ciclo, 'each_with_index' potrebbe essere più lento. Alla fine dipende dal ciclo, naturalmente. – erik
Beh, sì, se non stai usando un array, ovviamente non vorrai usare un metodo array ... – Chuck