在Java開(kāi)發(fā)中,靜態(tài)語(yǔ)言是很難具有靈活性的,而就從動(dòng)態(tài)開(kāi)發(fā)來(lái)看,Ruby是很有優(yōu)勢(shì)的,下面就讓武林技術(shù)頻道帶大家一起來(lái)看看Ruby中的函數(shù)總結(jié)吧!
1、Ruby中方法名和變量名的命名規(guī)則一樣(以小寫(xiě)字母開(kāi)頭,單詞之間的分隔使用“_”,),不過(guò)可以在方法名后邊帶上!(重磅方法)或者?(布爾類(lèi)型返回值)。
2、方法的參數(shù)請(qǐng)使用(),參數(shù)都是局部變量,可以為這些參數(shù)設(shè)置默認(rèn)值,帶“*”的參數(shù)是可選動(dòng)態(tài)參數(shù),可以傳入一個(gè)或者多個(gè),如果有普通參數(shù),也有可選參數(shù),可選參數(shù)要放在最后,如下邊示例代碼。
?
?
read_book
# 輸出:中文書(shū)籍:水滸傳,English book:Jane Eyre
read_book('西游記','Rails','紅樓夢(mèng)','三國(guó)演義','封神演義','隋唐演義')
# 輸出:
# 中文書(shū)籍:西游記,English book:Rails
# 其他可選書(shū)籍:紅樓夢(mèng) 三國(guó)演義 封神演義 隋唐演義
?
3、方法的返回值不需要進(jìn)行聲明,默認(rèn)情況下最后一行代碼為返回值,但是若有條件判斷返回的情況,需要用return聲明,如下示例代碼:
?
?
late_for_work?(10)??? #false
late_for_work?(15)??? #true
?
4、重磅方法是指方法名后帶“!”的方法,普通方法返回的是原對(duì)象的一個(gè)拷貝,而重磅方法返回的始終是原對(duì)象本身,如下邊示例代碼:
?
?
x='hello'
y=x.upcase!
puts "x:#{x},y:#{y}"?? #輸出:x:HELLO,y:HELLO?? x的值已經(jīng)發(fā)生改變
?
5、方法中可以使用別名關(guān)鍵字“alias”生成方法的一個(gè)拷貝,即使原方法發(fā)生了變化,別名拷貝也不會(huì)發(fā)生變化,如下示例代碼:
?
?
6、Ruby的方法可以一次性返回多個(gè)值,不過(guò)實(shí)質(zhì)上只是表面看來(lái)是返回多個(gè)值,本質(zhì)上是返回了一個(gè)數(shù)組,數(shù)組中存儲(chǔ)多個(gè)返回值,接收時(shí)可以直接定義多個(gè)變量一次性接收,如下示例代碼:
?
Ruby中的函數(shù)總結(jié),大家都清楚嗎?看完上面由武林技術(shù)頻道帶來(lái)的內(nèi)容,相信大家都了解了,之所以廣受歡迎,就是因?yàn)樗哂羞@些優(yōu)勢(shì)。
新聞熱點(diǎn)
疑難解答
圖片精選