数组#在ruby 1.8.7中等效旋转

rub*_*nce 6 ruby

a = [ "a", "b", "c", "d" ]
a.rotate         #=> ["b", "c", "d", "a"]
Run Code Online (Sandbox Code Playgroud)

#rotateArrayRuby 1.9中的一种方法.我想在Ruby 1.8.7中使用此功能.什么是理想的代码?

Mar*_*une 11

如果你require 'backports/1.9.2/array/rotate',你会得到Array#rotaterotate!在旧版本的Ruby.

无论哪种方式,你都避免重新发明轮子,更重要的是你获得了通过RubySpec的实现的优势.它适用于所有极端情况并确保与Ruby 1.9的兼容性.

例如,给出的两个答案都不起作用[]!


gna*_*nab 9

你可以实现同样的目标a.push(a.shift).它基本上删除了第一个元素(shift)并将其追加到末尾(push).