如何从最后一个元素开始遍历数组? (ruby)
我带着下面的解决scheme来,但是我相信那里肯定更好。
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 
在玉石模板中,您可以使用:
 for item in array.reverse() item 
如果你想在不使用反向的情况下达到同样的效果[有时候这个问题会在面试中出现]。 我们需要使用基本的逻辑。
- 数组可以通过索引访问
- 将索引设置为数组的长度,然后减1,直到索引达到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"]