看起来你在变量的概念上遇到了麻烦。
变量是内存中的一个位置,用于存储某种数据。您可以使用变量的名称来引用数据。把它想象成一个带有标签的盒子。为了简单起见,假设你可以在盒子里放一个东西。
当您输入该行时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 + '.'
有一些方法可以将更复杂的东西放入变量中。喜欢事物的集合,而不是单个事物。你很快就会明白的。