我带来了以下解决方案,但我相信那里必须更好......
array = [ 'first','middle','last']
index = array.length
array.length.times { index -= 1; puts array[index]}
答案 0 :(得分:91)
Ruby很聪明
a = [ "a", "b", "c" ]
a.reverse_each {|x| print x, " " }
答案 1 :(得分:52)
array.reverse.each { |x| puts x }
答案 2 :(得分:4)
你甚至可以使用for循环
array = [ 'first','middle','last']
for each in array.reverse do
print array
end
将打印
last
middle
first
答案 3 :(得分:3)
如果您想反向迭代一个范围,请使用:
(0..5).reverse_each do |i|
# do something
end
答案 4 :(得分:0)
在玉石模板中,您可以使用:
for item in array.reverse()
item
答案 5 :(得分:0)
如果你想在不使用反向的情况下实现相同的目标[有时这个问题来自采访]。我们需要使用基本逻辑。
输出到屏幕或新数组或使用循环执行任何逻辑。
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"]