Sono nuovo con rubino. desidero sapere come scrivere il seguente ciclo in ruby.Come scrivere un ciclo negativo in ruby come per (i = indice; i> = 0; i -)
var index=25;
for (i = index; i >= 0; i--) {
print i;
}
Sono nuovo con rubino. desidero sapere come scrivere il seguente ciclo in ruby.Come scrivere un ciclo negativo in ruby come per (i = indice; i> = 0; i -)
var index=25;
for (i = index; i >= 0; i--) {
print i;
}
Prova questo:
25.downto(0) { |i| puts i }
Un modo:
25.downto(0) do |i|
puts i
end
Immagino che hai capito che le gamme possono essere usato in questo modo ;-) –
Questa era la risposta di qualcun altro, da quando è stato cancellato. Non mi sarebbe venuto in mente di usare un intervallo quando questo è esattamente ciò che è "downto". –
Scusaci per quello allora. Sono stato divertito dalla risposta, ma non ricordo il nome :-) –
Ci sono molti modi per eseguire un ciclo di decremento in Ruby:
Primo modo:
for i in (10).downto(0)
puts i
end
Secondo modo:
(10).downto(0) do |i|
puts i
end
Terzo modo:
i=10;
until i<0
puts i
i-=1
end
La prima via contiene parenti estranei e non è molto idiomatica. La 2a strada contiene anche parenti estranei, ha un "ogni" non necessario e ha citazioni non necessarie e interpolazione variabile. La 3a via è semplicemente rotta. –
@MarkThomas: Penso che le parentesi estranee facciano sembrare meno complicato ai nuovi utenti di Ruby, come me. In Javascript, la stessa cosa è possibile, ma è necessario utilizzare due punti (il punto di radix e la proprietà accessor): '65536..toExponential()'. È un modo un po 'imbarazzante per consentire l'accesso alla proprietà, quindi immagino che non sia molto comune usarlo o addirittura conoscerlo in altre lingue dove è possibile accedere direttamente alle proprietà di un numero usando un punto. –
downto
va bene, ma c'è anche il più generico step
.
25.step(0, -1){|i| puts i}
Solo nel caso in cui si sta lavorando con una gamma già:
rng = 0..6
rng.reverse_each { |i| p i }
Ecco uno più semplice:
(0..25).reverse_each { |i| print i }
Non funziona, gli intervalli non vanno giù. – steenslag
@steenslag Sembra che tu abbia ragione. Fissaggio. – edgerunner
nota che la tua domanda dovrebbe leggere 'for (i = indice; i > = 0; i -) ' – KevinDTimm
Se sei nuovo con ruby, perché il tuo profilo dice che hai 5 anni di esperienza in RoR? –
Sì mark :), ero uno sviluppatore di php prima di –