-2

获取全名

puts 'Hello there, and what\'s your name?'
name= gets.chomp
puts 'Your first name is ' + name + '? What a lovely name!'
puts 'Whats your second name?'
name = gets.chomp
puts 'Your second name is ' + name + '.'
puts 'So whats your last name?'
name = gets.chomp
puts 'So your last name is: ' + name + '.'

我似乎无法得到最后的全名。

puts ' Your full name is :' name + name +name '.'

^ 即使我尝试过,这似乎也是错误的。

在估算每个名称后我是否必须创建一个变量?

4

1 回答 1

2

看起来你在变量的概念上遇到了麻烦。

变量是内存中的一个位置,用于存储某种数据。您可以使用变量的名称来引用数据。把它想象成一个带有标签的盒子。为了简单起见,假设你可以在盒子里放一个东西。

当您输入该行时name = gets.chomp,您所做的基本上是在说“将用户将输入的信息存储在一个框中,并标记该框name。”

盒子是内存中的一个位置。标签是您找到它并检索存储值的方式。

然后,当你name = gets.chomp第二次写作时,你所做的几乎相同。您将用户输入的信息(他的第二个名字)存储在标有 的框中name。但是,您不只是将此信息添加到框中。您替换了旧数据。

然后,当您尝试在 puts 中获取全名时,Your full name is :' name + name +name '.'实际上您从同一个“框”中获得了相同的值 3 次。

所以,你需要的是三个不同的“盒子”,或者在编程词汇中,三个变量。如果您对每个名称部分使用不同的变量,您将得到类似于以下代码的内容:

puts 'Hello there, and what\'s your name?'
first_name = gets.chomp
puts 'Your first name is ' + first_name + '? What a lovely name!'
puts 'Whats your second name?'
second_name = gets.chomp
puts 'Your second name is ' + second_name + '.'
puts 'So whats your last name?'
last_name = gets.chomp
puts 'So your last name is: ' + last_name + '.'    
puts ' Your full name is :' + first_name + second_name + last_name + '.'

有一些方法可以将更复杂的东西放入变量中。喜欢事物的集合,而不是单个事物。你很快就会明白的。

于 2013-03-20T20:51:39.323 回答