2016-08-05 4 views

Antwort

0

Nein, downto nur auf int gilt, die downto Definition sagt

Iterates block, passing decreasing values from int down to and including limit. If no block is given, an enumerator is returned instead.

2

Nein, wie die Fehlermeldung sagt.

Code, der Ihre Absicht erfüllt mit ranges und reverse_each umgesetzt werden können:

('A'..'Z').reverse_each do |x| 
    puts x 
end 
3

Nr Integer#downto kann nur auf Integer Objekte verwendet werden.

Sie können jedoch stattdessen erreichen, was Sie wollen, indem Sie eine Range Erstellung - wie folgt:

("A".."Z").reverse_each do |x| 
    puts x 
end 

Beachten Sie, dass Enumerable#reverse_each mit Best Practice ist hier, wie Sie keine zusätzlichen Objekte erstellt werden, bevor sie durch die Daten Looping. Das heißt, der folgende Code funktioniert auch funktioniert, ist aber langsamer:

("A".."Z").to_a.reverse.each do |x| 
    puts x 
end