如何将第一个元素移动到数组的末尾

将数组的第一个元素移动到同一个数组的末尾的最佳方法是什么?

即: [a,b,c,d]

“一些操作”

结果: [b,c,d,a]

这个“一些操作”应该是什么?

Array#rotate

 [a,b,c,d].rotate(1) 

是的,可以使用Array#shift

 a = [1,2,7,4] a << a.shift a # => [2, 7, 4, 1] 

正如@sawa所说,使用rotate 。 在其他/较旧的语言中,我们会做类似的事情:

 ary.push(ary.shift) 

或者通过分多步分割/切片来连接某些东西。

以上对于数组的左移是有用的。 扭转方向是:

 ary.unshift(ary.pop) 

对于模拟二进制级别的位错误,偶尔会有用。

  result=[a,b,c,d] #first add first char at last in array result << result[0] #remove first character from array result.shift