私が持っていると言う...
arr = ["a", "b", "c"]
...そして、「a」を「b」と「c」の間に移動したい。私は現在
arr.delete("a")
arr.insert(2, "a")
1回の手術でできますか?
ありがとう
私が持っていると言う...
arr = ["a", "b", "c"]
...そして、「a」を「b」と「c」の間に移動したい。私は現在
arr.delete("a")
arr.insert(2, "a")
1回の手術でできますか?
ありがとう
並列割り当てを使用できます。
arr[0], arr[1] = arr[1], arr[0]
=> ["b", "a"]
arr
=> ["b", "a", "c"]
繰り返す必要はありません"a"
。それらを 1 つにまとめます。
arr.insert(2, arr.delete("a"))
「a」を「b」と「c」の間に移動したい場合は、次のようにする必要があります。
arr.insert(1, arr.delete_at(0))
※配列に複数ある場合があるため、.delete_at
代わりに使用してください。.delete
'a'
配列内のどこにあるかに関係なく、b の後に a を挿入します。
arr.insert(arr.index("b"), arr.delete_at(arr.index("a")))
=> ["b", "a", "c"]
次のこともできます。
arr[arr.index("a")], arr[arr.index("b")] = "b","a"
使用するArray#shuffle!
arr = [ "a","b","c" ]
arr.shuffle! until arr[1] == 'a' && arr[0]=='b'
p arr #=> ["b", "a", "c"]