3 变量和赋值篇
2017-07-04 本文已影响11人
彩虹门票
通过前面的学习,我们已经学了字符串和数字的输出,但是很可惜,所学的知识已经有些过时了(╥╯^╰╥)
比如现在我们想要输出一段话两次,不得不键入两遍:
puts '...you can say that again...'
puts '...you can say that again...'
...you can say that again...
...you can say that again...
假如我们只写一遍然后存起来就没事了,那倒是无所谓,但是如果要经常这样写两遍,那我就不会这样做!
赋值(不是等号)为了把字符串保存到电脑内存中,我们需要给字符串起个名字。这个起名字的过程在编程中就称为赋值,而这个字符串的名字就称为变量。变量的命名可以用字母和数字随意组合,但要求第一个字符必须是小写字母。我们再来试试上个例子,这次我将会命名字符串为myString(当然我也可以命名为str 或myOwnLittleString 或 henryTheEighth亨利八世
).
myString = '...you can say that again...'
puts myString
puts myString
不论你何时对myString进行操作,程序总会用“…you can say that again…”来代替。你可以认为变量myString总是指向字符串“…you can say that again…”的。下面是个稍有趣的例子:
name = 'Patricia Rosanna Jessica Mildred Oppenheimer'
puts 'My name is ' + name + '.'
puts 'Wow! ' + name + ' is a really long name!'
同样的,正如我们能将某个对象赋值给一个变量,我们也能以重新将一个不同的对象赋值给这个变量(这就是为什么我们称之为变量:因为他们指向的对象是可以变换的)
composer = 'Mozart'
puts composer + ' was "da bomb", in his day.'
composer = 'Beethoven'
puts 'But I prefer ' + composer + ', personally.'
当然变量能指向任何对象,而不仅限于字符串:
var = 'just another ' + 'string'
puts var
var = 5 * (1+2)
puts var
输出为:
just another string
15
事实上变量能够指向任何对象,除了指向其他变量。因此如果我们这样做会发生什么呢?
var1 = 8
var2 = var1
puts var1
puts var2
puts ''
var1 = 'eight'
puts var1
puts var2
输出:
首先我们将
var2
指向var1
,结果var2
确实指向了8
(和var1
指向的一样)。然后我们将var1
指向了eight
,但鉴于var2
没再指向var1
,它依旧指向8
.
至此我们已经学了变量、数字、字符串,之后让我们来学习将他们混合起来将会如何!