私は以下の解決策が付属していましたが、それはそこにもっと良いものであるに違いないと思います...
array = [ 'first','middle','last']
index = array.length
array.length.times { index -= 1; puts array[index]}
array.reverse.each { |x| puts x }
Rubyは賢い
a = [ "a", "b", "c" ]
a.reverse_each {|x| print x, " " }
Forループを使用することもできます
array = [ 'first','middle','last']
for each in array.reverse do
print array
end
印刷します
last
middle
first
逆に範囲を反復処理したい場合は、次を使用します:
(0..5).reverse_each do |i|
# do something
end
リバースを使用せずに同じことを達成したい場合[この質問はインタビューで行われる場合があります]。基本的なロジックを使用する必要があります。
画面または新しい配列に出力するか、ループを使用してロジックを実行します。
def reverseArray(input)
output = []
index = input.length - 1 #since 0 based index and iterating from
last to first
loop do
output << input[index]
index -= 1
break if index < 0
end
output
end
array = ["first","middle","last"]
reverseArray array #outputs: ["last","middle","first"]
ヒスイのテンプレートでは、次のものを使用できます。
for item in array.reverse()
item