0

「each」を使おうとする非常に単純なプログラムで、次のエラーが発生します:sum.rb:16:undefined method `each'for#(NoMethodError)

「each」をさまざまな方法で使用しても同じエラーが発生します。以下に示すものは、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 に答える