简单的红宝石:添加字符串/得到的结果?
问题描述:
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 '.'
^这似乎是错误的,即使当我尝试它。
我是否必须在每个名称归类后创建一个变量?
答
看起来像你在变量的概念有问题。
变量是内存中的一个位置,用于存储某种数据。您可以使用变量的名称来引用数据。把它想象成一个带有标签的盒子。为了简单起见,假设你可以在盒子里放一个东西。
当你输入行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 + '.'
有办法把里面的变量更复杂的事情。像事物的集合,而不是单一的东西。你会很快得到。
+1
这就是它非常感谢你! – 2013-03-21 00:13:49
+1。欢迎来到SO和红宝石。请不要因反对票而气馁。对于新编程的人来说,你的问题是合理的。您可能想阅读[Ruby编程](http://ruby-doc.org/docs/ProgrammingRuby/)来学习基础知识。 – 2013-03-28 04:04:47