0
class Deck
    attr_accessor :all
    def initialize
        @all = [1,2,3]
    end
end

newdeck = Deck.new
puts newdeck.all

class Testdeck
    attr_accessor :cards

    def initialize
        @cards = []
        counter = 0
        ['H','C', 'S', 'D'].product(['2','3','4','5','6','7','8','9','10','J','K','Q','A']).each do |arr|
            @cards << Card.new(arr[0], arr[1])
        end
    end
end
zen = Testdeck.new
puts zen.cards.pop

这段代码给了我:'block in initialize' uninitialized constant Testdeck NameError

感谢所有帮助。

4

1 回答 1

1

这段代码不知道卡片是什么;您收到的错误消息不是uninitialized constant Testdeck错误,而是uninitialized constant Testdeck::Card错误,其中::表示 Ruby 正在 Testdeck 类中查找 Card 类(不是您需要将其放在那里,Ruby 只是先看那里)。

您需要在某处定义 Card 类,并使其构造函数接受一个字符串和一个整数。

于 2013-07-13T15:31:41.677 回答