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。

回答:

shiftunshift作用在相似的方式poppush:他们是为了使用数组作为堆栈可向其中追加和删除元素(每个时间通常之一)。所不同的是在Array之初只是shiftunshift添加/删除元素,实际上转变荷兰国际集团所有其他元素,而在Array结束poppush添加/删除元素,所以保留其他元素的索引。

实例:

     # 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

回到顶部