【问题标题】:Ruby: Why is this printed on a new line?Ruby:为什么要换行?
【发布时间】:2013-09-19 10:49:08
【问题描述】:

我有:

print 'Please enter the total amount of your bill: '
bill_amount = gets.chomp.to_f

print 'What percentage tip do you want? '
tip = gets.chomp.to_f / 100

puts "Your bill amount will be #{bill_amount * tip}"

当最后的“puts”被打印出来时,它被打印在一个新的行上。为什么是这样?之前的“print something”语句是“print”,它不插入新行。即使我将“print”而不是“puts”作为结束行,它仍然会在新行中打印。这是怎么回事?我怎样才能使结束语句与“您想要多少百分比的小费”打印在同一行中?

【问题讨论】:

    标签: ruby


    【解决方案1】:

    它打印在下一行,因为您按 ENTER 完成数据输入(因此您创建了一个新行)。第二个print 也换了一个新行,这不是让您感到困惑吗?

    【讨论】:

    • 不是 chomp 删除了 \n\r 吗?
    • chomp 从字符串中删除换行符之后它被打印在屏幕上。
    • chomp 从要创建的字符串对象中删除换行符。它不会对屏幕做任何事情。
    【解决方案2】:

    在用户输入 'Tip' 的值后,在下一行打印,他/她必须按 'enter' 键才能继续。

    变量 'tip' 的值将不含任何尾随空格(因为 .chomp)。 但是在屏幕上,回车键已经将用户移动到下一行,因此语句会在下一行打印。

    【讨论】:

      猜你喜欢
      • 2010-12-30
      • 1970-01-01
      • 2012-07-21
      • 2015-12-02
      • 1970-01-01
      • 2010-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多