Ruby的Array#shift做什么?
我很难理解Ruby中Array类的移位和非移位方法。有人能帮我理解他们做什么吗?Ruby的Array#shift做什么?
回答:
综观Ruby Documentation
Array.shift删除该数组的第一元素,并返回它
a = [1,2,3] puts a.shift
=> 1
puts a
=> [2, 3]
不印字预先考虑所提供的值到的前阵列,将所有其他元素向上移动一个
a=%w[b c d] => ["b", "c", "d"]
a.unshift("a")
=> ["a", "b", "c", "d"]
回答:
它抓取第一个元素,将其从数组中移除,并返回已移除的元素。它基本上是一种像堆栈一样对待数组的方法:弹出shift
,推送unshift
。
回答:
它返回数组的第一个元素,并将其从数组中移除,将元素移回到一个位置。
所以换档[1,2,3,4,5]
返回1
,并将该阵列为[2,3,4,5]
。
更多here。
回答:
shift
和unshift
作用在相似的方式pop
和push
:他们是为了使用数组作为堆栈可向其中追加和删除元素(每个时间通常之一)。所不同的是在Array
之初只是shift
和unshift
添加/删除元素,实际上转变荷兰国际集团所有其他元素,而在Array
结束pop
和push
添加/删除元素,所以保留其他元素的索引。
实例:
# Spacing for clarity: a = [2, 4, 8] # a => [2, 4, 8]
a.push(16, 32) # a => [2, 4, 8, 16, 32]
a.unshift(0, 1) # a => [0, 1, 2, 4, 8, 16, 32]
a.shift # a => [1, 2, 4, 8, 16, 32]
a.pop # a => [1, 2, 4, 8, 16]
回答:
如果您可以将数组视为要处理的值的队列,那么您可以获取下一个(前)值并“移动”另一个值以占用可用的空间。 unshift将值重新放入 - 也许你还没有准备好处理其中的一些,或者让稍后的代码处理它们。
以上是 Ruby的Array#shift做什么? 的全部内容, 来源链接: utcz.com/qa/266108.html