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
Run Code Online (Sandbox Code Playgroud)
我花了最后一小时试图修复此错误.我得到的错误是:
wrong number of arugments (Argument Error)
Run Code Online (Sandbox Code Playgroud) 我无法让这个工作.我得到的错误是:
114''numberstash':未定义方法'cards'代表nil:Nilclass(无方法错误).
这是一个二十一点游戏.我花了几个小时试图修复这段代码,包括制作一堆测试脚本来解决这个问题.但是,我没有运气.这适用于我的测试脚本,但它不适用于当前脚本:
class Card
attr_accessor :suit, :value
def initialize(suit, value)
@suit = suit
@value = value
end
def to_s
"#{value} of #{suit}"
end
end
class Deck
attr_accessor :cards
def initialize(number_of_decks)
@cards = []
num = number_of_decks
counter = 0
while counter < num
['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
counter += 1
end
end
end
class Player
attr_accessor :cards, :testvalue
def initialize
@cards = []
end
end
class Dealer
attr_accessor :cards
@cards = []
end …Run Code Online (Sandbox Code Playgroud) ruby ×2