ruby的計算符合正常編程邏輯
比如:
2 + 6
3 * 5
3 + ( 40 / 4 )
2**3 //2的3次方
Math.sqrt(64) //開方
Math是Ruby內(nèi)建的數(shù)學(xué)模塊投蝉。在Ruby中养葵,模塊提供了兩種角色:一種角色是將類似的方法聚集在同一個“家族”名下。因此瘩缆,Math也包括sin关拒、tan這樣的方法。第二種角色是一個圓點(dot)咳榜,它標(biāo)記了消息的接收者夏醉。什么是消息爽锥?在上面的例子中涌韩,sqrt(9)便是消息,它意味著調(diào)用sqrt方法取出9的平方根氯夷。
ruby的函數(shù):
"Funny".reverse //倒序排列
"funny".le-ngth //獲取長度
"funny" * 5 //五次拼接
關(guān)于整數(shù)的反轉(zhuǎn)不可以
40.reverse
整數(shù)包括固定長整數(shù)(Fixnum)與大數(shù)(Bignum)臣樱。Fixnum可表示系統(tǒng)平臺上自然操作的數(shù)值范圍(對32位機(jī)器是-230~230-1),而Bignum則表示比此范圍更大的整數(shù)腮考。
而是需要先把整數(shù)轉(zhuǎn)換成字符串再進(jìn)行反轉(zhuǎn):
40.to_s.erverse
類似的函數(shù):
to_i //轉(zhuǎn)換成integer類型
to_a //轉(zhuǎn)換成數(shù)組
數(shù)組及數(shù)組相關(guān)的函數(shù):
[12, 47, 35].max //數(shù)組取最大值
.sort雇毫! //排序,
ticket = [14, 37, 18]
poem['toas-t'] = 'hone-ydew' //數(shù)組替換
poem.lines / bytes / chars.to_a.reve-rse //文本根據(jù)線/字節(jié)/字符踩蔚,劃分成數(shù)組后棚放,反轉(zhuǎn),是數(shù)組的元素反轉(zhuǎn)
poem.lines / bytes / chars.to_a.reverse.join//轉(zhuǎn)換后的數(shù)組反轉(zhuǎn)后連接(join)成一個字符串
poem.inclu-de?"my head"-//數(shù)組中是否包含某個元素
poem.downcase//字符串中的所有轉(zhuǎn)換成小寫
您可能會注意到馅闽,sort! 方法在其結(jié)尾有一個感嘆號飘蚯。 這只是表示我們打算讓Ruby直接修改我們構(gòu)建的同一個數(shù)組,而不是制作一個全新的排序副本福也。
另外 upcase方法把字符串中的所有字母轉(zhuǎn)換成大寫局骤。 downcase方法把字符串中的所有字母轉(zhuǎn)換成小寫。 swapcase方法也是轉(zhuǎn)化字符串中字母的大小寫,但是它會把大寫字母換成小寫,小寫字母換成大寫暴凑。
字典(dictionary)hash
books = {}//空字典
books = {"Gravity's Rainbow"=>:splendid, "Funny"=>"so funny"}
books.length //數(shù)量
books.keys //所有的key
books.values //所有的value
ratings = Hash.-new(0) //新建空Hash峦甩,注意區(qū)分大小寫
系統(tǒng)符號
單詞前加冒號,變成系統(tǒng)符號现喳,它比字符串更節(jié)約內(nèi)存凯傲,當(dāng)在程序中多次使用一個單詞時犬辰,建議使用系統(tǒng)符號。系統(tǒng)符號在計算機(jī)中只存儲一次冰单,而單詞卻要存儲上千次忧风。