为什么puts()不打印在一行?
这是一段代码:
def add(a, b) a + b; end print "Tell number 1 : " number1 = gets.to_f print "and number 2 : " number2 = gets.to_f puts "#{number1}+#{number2} = " , add(number1, number2) , "\n"`
当我运行它时,我的结果分布在几行:
C:\ Users \ Filip> ruby ext1.rb 告诉1:2 和2:3 3.0 + 3.0 = 5 C:\用户\菲利普>
为什么puts()
打印在一行中,如何将输出保持在一行?
gets()
包括换行符。用 ( 更新:您更新了代码,因此如果您对使用浮点数感到满意,则不再相关。) gets.strip
替换它。
puts()为每个尚未以换行符结尾的参数添加换行符。 您的代码相当于:
print "#{number1}+#{number2} = ", "\n", add(number1, number2) , "\n", "\n"
你可以用print
替换puts
:
print "#{number1}+#{number2} = " , add(number1, number2) , "\n"`
或更好:
puts "#{number1}+#{number2} = #{add(number1, number2)}"
Puts在输出结尾添加换行符。 打印没有。 试试打印。
http://ruby-doc.org/core-2.0/IO.html#method-i-puts
您可能还想用gets.chomp
替换gets
。
puts "After entering something, you can see the the 'New Line': " a = gets print a puts "After entering something, you can't see the the 'New Line': " a = gets.chomp print a
因为puts
打印一个字符串后跟一个换行符。 如果您不想换行,请改用print
。