我正在编写一个BlackJack游戏来开始学习Ruby(所以我很新),对于玩家类我想在initialize方法中添加一个名称参数,以便游戏可以通过名字调用玩家。这一切都运行正常,但当我使用@ player.name获取名称时,它会在名称后添加换行符。而不是:
Billy's hand is:
我明白了:
Billy
's hand is:
我尝试摆弄put和print,但似乎没有任何效果。对于那些了解Ruby的人来说,这似乎是一个简单的解决方案,但我只是没有足够的经验,而且很难说出谷歌搜索。这是我的代码:
require 'Hand'
class Player
attr_accessor :hand, :cash, :name
def initialize(n)
@hand = Hand.new
@cash = 500
@name = n
end
end
require 'Player'
class Game
puts "What is your name? "
name = gets
@deck = Deck.new
@player = Player.new(name)
.
.
.
def self.showHands(num)
puts @player.name + "'s hand: "
.
.
.
此外,当我初始化Player对象而不使用这样的puts / gets方法时:
@player = Player.new("Billy")
String完全符合我的要求。我使用的是Ruby 1.9.3。谢谢你的帮助。