【问题标题】:print function in ruby [duplicate]ruby中的打印功能[重复]
【发布时间】:2011-03-15 06:30:18
【问题描述】:

我是一名红宝石初学者。我有以下代码询问用户他的姓名并将其打印回来。

print 'Enter your name : '
name = gets()
print("Hey,#{name} !")

如果我输入 John Doe 作为名字,输出如下

Hey,John Doe
!

print 不像puts 不会在输出后自动换行,但我注意到在上述情况下,我在#{name} 之后输入的任何内容都会打印在新行上。为什么会这样?

【问题讨论】:

  • 提示:name 包含您输入的字符(按了一个键)但不是预期的。
  • 哦,是的,换行符! :D...谢谢! :)

标签: ruby gets


【解决方案1】:

gets() 正在返回由您按回车键引起的换行符。尝试name = gets().chomp 将其修剪掉。

【讨论】:

    【解决方案2】:

    如果您在 OS X 上并在 irb 中运行它,您也可以输入“John Doe”,然后按两次 control+d。

    我认为windows的等价物是control+z。

    另外,如果您使用了print name.inspect,那么您肯定会发现name 包含一个换行符——它会打印出"John Doe\n"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-02
      • 1970-01-01
      • 2014-12-14
      • 1970-01-01
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多