Come creare un'istruzione for in Ruby

October 19

Una delle cose che rende Rubino preferibile programmatori è che è un linguaggio object-based. I programmatori possono creare per la dichiarazione in Ruby come un modo per visitare ogni oggetto in una collezione di oggetti e di fare qualcosa di specifico con loro, un processo comunemente conosciuto come a "iterate". È possibile creare una istruzione for con gli array, oggetti Range o altri oggetti che includono il modulo Enumerable. Ci sono due modi per farlo: con la creazione di un'istruzione o creando l'equivalente ogni affermazione.

istruzione

Scegliere un oggetto

1 Scegliere un oggetto che si desidera iterare.

2 Definire il risultato desiderato. Che tipo di oggetto che si sceglie dipende dal risultato desiderato. Per contare in un intervallo specifico è necessario utilizzare un oggetto Range. Ad esempio, per contare da 1 a 10, di questo codice: a = (1..10) .
Per creare un elenco di elementi o di oggetti, è necessario utilizzare un oggetto array. Ad esempio, un elenco di stati sarebbe simile a questa:
a=%{Maine Michigan Alaska Florida} .

Creare un'istruzione for in Ruby

3 Comporre for. La struttura di base è "per oggetto in collezione". Nel seguente esempio "a" è un oggetto Range. Nella dichiarazione "for i in una" i è un numero compreso definito da 1 a 10:
a = (1..10)
for i in a

4 Passare il ciclo for un blocco. Il blocco è la sezione di codice che deve essere eseguito per ogni elemento della collezione:
a = (1..10)
for i in a
puts "The number is #{i}"
puts "Two times the number is #{i*2}
end

Creare l'equivalente ogni istruzione

5 Usare l'espressione: "collection.each fare | oggetto |". L'ogni metodo è usato più comunemente che l'equivalente "per". E 'essenzialmente un ciclo for in incognito. L'espressione visiterà ogni oggetto in una e assegnarlo alla variabile (oggetto) prima di eseguire il blocco.

6 Passare un blocco alla ogni comando. Si deve essere delimitato da una "fine fare ..." o "{...}". Utilizzare "do ... end" se il blocco sarà lunga più di una riga. Utilizzare "{...}" se il blocco sarà tutto su una sola riga. Per esempio:
a = (1..10)
a.each do|i|
puts "The number is #{i}"
puts "Two times the number is #{i*2}"
end

Consigli e avvertenze

  • Il metodo di ciascuna creare un'istruzione for è più comunemente utilizzato, e tende ad avere sintassi meglio.