当我执行此操作时,
puts "please enter your name" + " your name is " + gets
引号(""
)内的字符串语句没有出现,但它直接显示了提示符(即gets
)。
我执行代码时发生了什么?我想知道为什么字符串语句没有显示出来。
如果将部分提取到变量中,则更加明显:
a = "please enter your name"
b = " your name is "
c = gets
puts a + b + c
显然,gets
在puts
之前被召唤。
要获得所需的结果,您可以使用两个puts
调用并将输入存储在变量中:
puts "please enter your name"
name = gets.chomp
puts "your name is #{name}"
示例会话:
please enter your name
Caleb
your name is Caleb
在执行puts
之前,会对其参数进行评估。为此,执行两个+
方法。为了执行第二个+
,必须首先评估其参数gets
。