Ich versuche, die Grundlagen eines Kartenspiels zu erstellen. Beim Erstellen/Testen meines anfänglichen Decks erhalte ich die folgende Fehlermeldung, wenn ich meinen Ruby-Code ausführe.Ruby-Syntaxfehler, unerwartetes Ende der Eingabe, erwartet keyword_end
gofish.rb:30: syntax error, unexpected '\n', expecting :: or '[' or '.'
gofish.rb:73: syntax error, unexpected end-of-input, expecting keyword_end
deck.add_cards
sah ich mögliche Lösungen auf, und ich kann nicht scheinen, meine fehlende Ende zu finden. Könnte es möglicherweise etwas anderes sein? Ich bin sehr neu in Ruby.
class Deck
def initialize
@ranks = %w(2 3 4 5 6 7 8 9 10 Jack Queen King Ace)
@suits = %w(Clubs Spades Hearts Diamonds)
@cards = []
@ranks.each do |rank|
@suits.each do |suit|
@cards << Card.new(rank, suit)
end
end
end
def shuffle
@cards.shuffle
end
def deal
@cards.shift
end
def empty?
@cards.empty?
end
def add_cards(*cards)
*cards.each do |card|
@cards << card
end #line 30
end
def to_s
output = ""
@cards.each do |card|
output = output + card.to_s + "\n"
end
return output
end
end
class Hand
def initialize
end
def search()
end
end
class Card
attr_reader :rank, :suit
def initialize(rank, suit)
@rank = rank
@suit = suit
end
def to_s
"#{@rank} of #{@suit}"
end
end
deck = Deck.new
puts deck.to_s
deck.shuffle
puts deck.to_s
deck.deal
deck.add_cards #line 73
Sie erwarten _us Zeilennummern zählen bis zu 30 und 73_? – mudasobwa
'* cards.each do | card |' ⇒ 'cards.each do | card |' – mudasobwa
@mudasobwa Bearbeitet, um die Zeilennummern einzuschließen. Danke für die Lösung! –