Ruby - 从数组中打印一个值

标签 ruby arrays

我正在尝试从数组中打印出一个值,但由于某些原因不能。 这是我的代码:

click = rightClick(mat, sel)  #(click is a method that opens an input window. It returns an array of 5 values)
constLib << click

constNum=constLib.length
for i in 0..constNum
  puts (constLib[i][1])
end

我收到一条错误消息:

Error: #<NoMethodError: undefined method `[]' for nil:NilClass>
(eval):37:in `block (4 levels) in initialize'
(eval):34:in `each'
(eval):34:in `block (3 levels) in initialize'
-e:1:in `call'

有什么想法吗?

谢谢!

最佳答案

.. 是包容性的。这意味着,您正在访问越界索引,即数组的长度。因此将其更改为 ... 这是排他性的。

然而,这不是 ruby​​ists 处理它的方式,因为他们可能会对您使用 for 循环不悦。最好使用each

constLib.each {|arr| puts arr[1]}

关于Ruby - 从数组中打印一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28234349/

相关文章:

ruby-on-rails - Ruby on Rails 路由匹配用户名

ruby - 我有一个 Ruby 对象数组,如何根据这些对象的属性将此数组更改为多个数组?

ios - Ruby:LoadError - 找不到类 Digest::SHA1 的库——摘要/sha1

ruby-on-rails - Rails 中的模型日期验证

ruby - Ruby 对象有内置的 getter/setter 方法吗?

python - 我的输出格式不正确有人可以帮助我吗?

javascript - 循环数据对象并输出每个对象的对象文件名和消息

python - 在 numpy 二维数组中计算大于的最佳方法

ios - 如何在数组中的每 3 个对象之后添加数组中的对象?

c - 尝试将唯一的单词读入文件,但内存分配出现问题