通過前面的學(xué)習(xí),我們已經(jīng)學(xué)了字符串和數(shù)字的輸出,但是很可惜,所學(xué)的知識(shí)已經(jīng)有些過時(shí)了(╥╯^╰╥)
比如現(xiàn)在我們想要輸出一段話兩次,不得不鍵入兩遍:
puts '...you can say that again...'
puts '...you can say that again...'
...you can say that again...
...you can say that again...
假如我們只寫一遍然后存起來就沒事了,那倒是無所謂,但是如果要經(jīng)常這樣寫兩遍,那我就不會(huì)這樣做!

為了把字符串保存到電腦內(nèi)存中,我們需要給字符串起個(gè)名字。這個(gè)起名字的過程在編程中就稱為賦值,而這個(gè)字符串的名字就稱為變量。變量的命名可以用字母和數(shù)字隨意組合,但要求第一個(gè)字符必須是小寫字母。我們再來試試上個(gè)例子,這次我將會(huì)命名字符串為myString(當(dāng)然我也可以命名為str 或myOwnLittleString 或 henryTheEighth亨利八世).
myString = '...you can say that again...'
puts myString
puts myString

不論你何時(shí)對myString進(jìn)行操作,程序總會(huì)用“…you can say that again…”來代替。你可以認(rèn)為變量myString總是指向字符串“…you can say that again…”的。下面是個(gè)稍有趣的例子:
name = 'Patricia Rosanna Jessica Mildred Oppenheimer'
puts 'My name is ' + name + '.'
puts 'Wow! ' + name + ' is a really long name!'

同樣的,正如我們能將某個(gè)對象賦值給一個(gè)變量,我們也能以重新將一個(gè)不同的對象賦值給這個(gè)變量(這就是為什么我們稱之為變量:因?yàn)樗麄冎赶虻膶ο笫强梢宰儞Q的)
composer = 'Mozart'
puts composer + ' was "da bomb", in his day.'
composer = 'Beethoven'
puts 'But I prefer ' + composer + ', personally.'

當(dāng)然變量能指向任何對象,而不僅限于字符串:
var = 'just another ' + 'string'
puts var
var = 5 * (1+2)
puts var
輸出為:
just another string
15
事實(shí)上變量能夠指向任何對象,除了指向其他變量。因此如果我們這樣做會(huì)發(fā)生什么呢?
var1 = 8
var2 = var1
puts var1
puts var2
puts ''
var1 = 'eight'
puts var1
puts var2
輸出:

首先我們將
var2指向var1,結(jié)果var2確實(shí)指向了8(和var1指向的一樣)。然后我們將var1指向了eight,但鑒于var2沒再指向var1,它依舊指向8.
至此我們已經(jīng)學(xué)了變量、數(shù)字、字符串,之后讓我們來學(xué)習(xí)將他們混合起來將會(huì)如何!