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位機器是-230~230-1),而Bignum則表示比此范圍更大的整數(shù)。
而是需要先把整數(shù)轉(zhuǎ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)符號在計算機中只存儲一次,而單詞卻要存儲上千次。