Ruby在属性调用中显示换行符

Ruby在属性调用中显示换行符,ruby,Ruby,我正在编写一个21点游戏来开始我对Ruby的学习(所以我是个新手),对于player类,我想在initialize方法中添加一个name参数,以便游戏可以按名称调用播放器。这一切都很好,但当我使用@player.name获取名称时,它会在名称后添加一个换行符。而不是: Billy's hand is: 我得到: Billy 's hand is: 我试着摆弄拼图和印刷品,但似乎没有任何效果。对于了解Ruby的人来说,这似乎是一个简单的解决办法,但我只是经验不足,很难用谷歌搜索来形容。这是我的

我正在编写一个21点游戏来开始我对Ruby的学习(所以我是个新手),对于player类,我想在initialize方法中添加一个name参数,以便游戏可以按名称调用播放器。这一切都很好,但当我使用@player.name获取名称时,它会在名称后添加一个换行符。而不是:

Billy's hand is:
我得到:

Billy
's hand is:
我试着摆弄拼图和印刷品,但似乎没有任何效果。对于了解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: "
    .
    .
    .
此外,当我在不使用puts/gets方法的情况下初始化Player对象时,如下所示:

@player = Player.new("Billy")

字符串的工作方式正是我想要的。我使用的是Ruby 1.9.3。谢谢你的帮助。

gets.chomp
替换
gets
,删除换行符。@Matt谢谢,这太令人惊讶了。是的,Ruby太棒了。总有一天你会发现关于它的事情甚至比chomp更令人惊奇。我想如果你只是把
p“你叫什么名字?”
放进去,它不包括换行符。@Matt有没有任何理由让
gets.chomp
gets.strip更受欢迎?