在ruby中放入方法[关闭]

问题描述 投票:-3回答:2

当我执行此操作时,

puts "please enter your name" + " your name is " + gets

引号("")内的字符串语句没有出现,但它直接显示了提示符(即gets)。

我执行代码时发生了什么?我想知道为什么字符串语句没有显示出来。

ruby parameter-passing
2个回答
1
投票

如果将部分提取到变量中,则更加明显:

a = "please enter your name"
b = " your name is "
c = gets

puts a + b + c

显然,getsputs之前被召唤。

要获得所需的结果,您可以使用两个puts调用并将输入存储在变量中:

puts "please enter your name"
name = gets.chomp
puts "your name is #{name}"

示例会话:

please enter your name
Caleb
your name is Caleb

1
投票

在执行puts之前,会对其参数进行评估。为此,执行两个+方法。为了执行第二个+,必须首先评估其参数gets

© www.soinside.com 2019 - 2024. All rights reserved.