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


