佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > Ruby中的方法(函數(shù))學(xué)習(xí)總結(jié)

Ruby中的方法(函數(shù))學(xué)習(xí)總結(jié)

熱門標(biāo)簽:呼叫中心市場需求 Win7旗艦版 客戶服務(wù) 電話運(yùn)營中心 硅谷的囚徒呼叫中心 語音系統(tǒng) 企業(yè)做大做強(qiáng) 百度AI接口

1、Ruby中方法名和變量名的命名規(guī)則一樣(以小寫字母開頭,單詞之間的分隔使用“_”,),不過可以在方法名后邊帶上?。ㄖ匕醴椒ǎ┗蛘??(布爾類型返回值)。

2、方法的參數(shù)請(qǐng)使用(),參數(shù)都是局部變量,可以為這些參數(shù)設(shè)置默認(rèn)值,帶“*”的參數(shù)是可選動(dòng)態(tài)參數(shù),可以傳入一個(gè)或者多個(gè),如果有普通參數(shù),也有可選參數(shù),可選參數(shù)要放在最后,如下邊示例代碼。

復(fù)制代碼 代碼如下:

def read_book(chinese='水滸傳',english='Jane Eyre',*others)
  puts "中文書籍:#{chinese},English book:#{english}"
  temp=''
  others.each do |o|
    tempo' '
  end
  puts "其他可選書籍:#{temp}"
 
end

read_book
# 輸出:中文書籍:水滸傳,English book:Jane Eyre
read_book('西游記','Rails','紅樓夢','三國演義','封神演義','隋唐演義')
# 輸出:
# 中文書籍:西游記,English book:Rails
# 其他可選書籍:紅樓夢 三國演義 封神演義 隋唐演義

3、方法的返回值不需要進(jìn)行聲明,默認(rèn)情況下最后一行代碼為返回值,但是若有條件判斷返回的情況,需要用return聲明,如下示例代碼:

復(fù)制代碼 代碼如下:

def late_for_work?(minutes)
  return true if minutes>=15
  false
end

late_for_work?(10)    #false
late_for_work?(15)    #true

4、重磅方法是指方法名后帶“!”的方法,普通方法返回的是原對(duì)象的一個(gè)拷貝,而重磅方法返回的始終是原對(duì)象本身,如下邊示例代碼:

復(fù)制代碼 代碼如下:

x='hello'
y=x.upcase
puts "x:#{x},y:#{y}"   #輸出:x:hello,y:HELLO   x的值未發(fā)生改變

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ā)生變化,如下示例代碼:

復(fù)制代碼 代碼如下:

def show_alias
  puts 'Before alias!'
end
alias alias_foo show_alias
def show_alias
  puts 'After alias!'
end
show_alias   #輸出:After alias!
alias_foo    #輸出:Before alias!

6、Ruby的方法可以一次性返回多個(gè)值,不過實(shí)質(zhì)上只是表面看來是返回多個(gè)值,本質(zhì)上是返回了一個(gè)數(shù)組,數(shù)組中存儲(chǔ)多個(gè)返回值,接收時(shí)可以直接定義多個(gè)變量一次性接收,如下示例代碼:

復(fù)制代碼 代碼如下:

def more_result_foo
 x=5
 y=x*x
 z=y-x+2
 return x,y,z  #返回x,y,z三個(gè)值
end
a,b,c=more_result_foo #a,b,c接收返回的x,y,z
m=more_result_foo  #m接收返回的x,y,z
puts a,b,c    #輸出:5 25 22
puts m     #輸出:5 25 22
puts m.class   #輸出:Array

您可能感興趣的文章:
  • Ruby實(shí)現(xiàn)命令行中查看函數(shù)源碼的方法
  • Ruby中常用的字符串處理函數(shù)使用實(shí)例
  • ruby中的雙等號(hào)==問題詳解
  • Ruby里4種比較函數(shù)(equal?, eql?, ==, ===)詳解

標(biāo)簽:長沙 崇左 山西 濟(jì)南 海南 山西 安康 喀什

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ruby中的方法(函數(shù))學(xué)習(xí)總結(jié)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    淮南市| 武胜县| 法库县| 石渠县| 宕昌县| 兰州市| 定日县| 凤凰县| 洞头县| 新宾| 蕉岭县| 阿克苏市| 那坡县| 中超| 惠安县| 宜君县| 内乡县| 三江| 临江市| 民乐县| 穆棱市| 黄冈市| 阳新县| 宜春市| 大连市| 漳平市| 温宿县| 井研县| 临湘市| 抚远县| 平利县| 德江县| 调兵山市| 兴化市| 昌宁县| 聊城市| 庆元县| 留坝县| 阿图什市| 丰县| 洪洞县|