この同じ配列の終わりまで配列の最初の要素を移動する最良の方法は何ですか?
すなわち:[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