0

在一个尝试使用“each”的非常简单的程序中,我得到了错误:sum.rb:16: undefined method `each' for # (NoMethodError)

我使用“每个”各种方式得到了同样的错误:下面显示的一个是直接从 ruby​​-doc.org 的 Class:Matrix 复制的。

# create State database using matrix
require 'matrix'

State=Matrix[ [3,1,4,4,6,2,8,12,6,2],
        [6,2,4,13,25,21,11,22,9,3,],
        [6,20,27,34,22,14,12,11,2,5],
        [6,28,17,23,31,18,15,9,18,12],
        [9,18,11,13,8,27,10,14,24,11],
        [3,9,7,16,9,15,28,24,29,21],
        [5,8,4,7,17,14,19,30,33,4],
        [7,17,23,9,5,9,22,21,12,21,],
        [7,14,25,22,16,10,19,15,12,11],
        [5,16,7,3,6,3,9,8,1,5] ]

State.each { |e| puts e }

这一定很简单/很明显,但我想不通。(我已经用状态矩阵做了很多事情,结果如预期。)

4

1 回答 1

1

Ruby 1.8.7 将返回您看到的问题。1.8.7 中的 Matrix 对象没有each方法。

升级到最近的版本,无论是 1.9.2 还是 1.9.3 都可以解决这个问题。

于 2012-07-26T17:19:52.080 回答