假设我们有数组
x = ['a', 'b', 'c']
和y
。是否有一种简单的方法将x
的第二个元素移动到y
中?以便最终x
是['a', 'c']
,y
是['b']
。x = ['a', 'b', 'c']
和y
。是否有一种简单的方法将x
的第二个元素移动到y
中?以便最终x
是['a', 'c']
,y
是['b']
。这个例子需要一个特殊的代码,它可能不适用于其他数组。我们不直接移动元素,而是将旧数组拆开并构建两个新数组。
x = ['a', 'b', 'c']
x, y = x.partition {|i| i != 'b'}
x # => ["a", "c"]
y # => ["b"]
< p > < code > delete_at 方法可能更适合您的情况,但是了解其他选择也是很好的 :)
y.push x.delete_at(1)
delete_at
会从调用该方法的数组中删除给定索引处的元素并返回该对象。
x = ['a', 'b', 'c']
y = []
y << x.delete_at(1)
y << x.delete('b')