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