获取全名
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 '.'
^即使我尝试过,这似乎也是错误的。
在每个名字被估算后,我是否必须创建一个变量?
答案 0 :(得分:2)
您似乎遇到了变量概念的问题。
变量是内存中的一个位置,用于存储某种数据。您可以使用变量的名称来引用数据。把它想象成一个带有标签的盒子。为简单起见,假设您可以在框中放置一个东西。
当您输入第name = gets.chomp
行时,您所做的基本上是“存储用户将在框中输入的此信息,并将该框标记为name
”。
盒子是记忆中的位置。标签是您找到它并检索存储值的方式。
然后,当你第二次写name = gets.chomp
时,你做的几乎是同样的事情。您将用户输入的信息(他的第二个名字)存储在标有name
的框中。但是,您不只是将此信息添加到框中。您替换了旧数据。
然后,当您尝试在puts Your full name is :' name + name +name '.'
中获取全名时,实际上您从同一个“框”中获得了相同的值三次。
所以,你需要的是三个不同的“盒子”,或者编程词汇,三个变量。如果您为每个名称部分使用不同的变量,您将获得类似下面的代码:
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 + '.'
有很多方法可以将更复杂的东西放在变量中。喜欢收藏的东西,而不是单一的东西。你很快就会到达那里。