在Ruby中,可以使用多种方法来反转数组。以下是一些常见的方法:
reverse
方法:arr = [1, 2, 3, 4, 5]
reversed_arr = arr.reverse
puts reversed_arr.inspect # 输出:[5, 4, 3, 2, 1]
reverse!
方法(会直接修改原数组):arr = [1, 2, 3, 4, 5]
arr.reverse!
puts arr.inspect # 输出:[5, 4, 3, 2, 1]
inject
方法(使用累加器从数组的末尾开始遍历):arr = [1, 2, 3, 4, 5]
reversed_arr = arr.inject([]) { |acc, elem| acc.unshift(elem) }
puts reversed_arr.inspect # 输出:[5, 4, 3, 2, 1]
reduce
方法(与inject
方法类似,但使用了不同的语法):arr = [1, 2, 3, 4, 5]
reversed_arr = arr.reduce([]) { |acc, elem| [elem] + acc }
puts reversed_arr.inspect # 输出:[5, 4, 3, 2, 1]
以上就是Ruby中反转数组的一些常见方法。