我正在努力在线学习 Learning Ruby the Hard Way;我刚刚完成第 26 个练习,这是一个“测试”,您可以借此修复某人的损坏代码。
我的问题是在 pop 方法中使用参数。我熟悉基础知识,但正确答案意味着将参数从“-1”更改为“1”,我不确定它到底是什么意思。
有问题的行是:
def puts_last_word(words)
word = words.pop(1)
puts word
end
我假设它从数组中弹出第二个元素,但我想要确认或帮助,以适当的为准。
最佳答案
Array#pop 的文档中可以得到最好的确认:http://rubydoc.info/stdlib/core/1.9.3/Array:pop
据此,参数指定要删除多少个元素,从数组的后面算起。
pop()
和pop(1)
之间的唯一区别是前者将返回单个元素(已删除的元素),而后者将返回一个具有单个元素的数组(同样是已删除的元素)。
编辑:我想测试使用 -1
的原因是要告诉你数组访问与 #[]
之间的区别,其中 -1
表示最后一个元素,以及像 pop
这样的方法,它们期望将数量而不是位置作为参数。
关于arrays - ruby 基础 : Pop Method in Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8408496/