arrays - ruby 基础 : Pop Method in Array

标签 arrays ruby learn-ruby-the-hard-way

我正在努力在线学习 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/

相关文章:

python - numpy矢量化方法来计算整数数组中的非零位

ruby-on-rails - 捆绑 geoip-c - 给出错误 "you must have geoip c library installed"

Ruby gets.chomp 和 $stdin.gets.chomp 区别

ruby-on-rails - Rails 3 ActiveRecord where 子句,其中 id 设置或为 null

ruby - "Undefined method ' 关闭 '"试图关闭 Ruby 中的文件时

Ruby Exercise 18 undefined method 虽然我定义了方法

c - 为什么我从 scanf 循环中收到段错误?

ios - swift ios 追加元素到数组

c - 打印 (Char*)(Void*) 在主程序中有效,但在函数中无效

ruby-on-rails - 如何在 RSpec View Examples 中设置语言环境