1、ruby中方法名和變數名的命名規則一樣(以小寫字母開頭,單詞之間的分隔使用「_」,),不過可以在方法名後邊帶上!(重磅方法)或者?(布林型別返回值)。
2、方法的引數請使用(),引數都是區域性變數,可以為這些引數設定預設值,帶「*」的引數是可選動態引數,可以傳入乙個或者多個,如果有普通引數,也有可選引數,可選引數要放在最後,如下邊示例**。
複製** **如下:
def read_book(chinese='水滸傳',english='jane eyre',*others)
puts "中文書籍:#,english book:#"
temp=''
&程式設計客棧nbsp; others.each do |o|
temp<
endputs "其他可選書籍:#"
endread_book
# 輸出:中文書籍:水滸傳,english book:jane eyre
read_book('西遊記','rails','紅樓夢','三國演義','封神演義','隋唐演義')
# 輸出:
# 中文書籍:西遊記,english book:rails
# 其他可選書籍:紅樓夢 三國演義 封神演義 隋唐演義
3、方法的返回值不需要進行宣告,預設情況下最後一行**為返回值,但是若有條件判斷返回的情況,需要用return宣告,如下示例**:
複製** **如下:
def late_for_work?(minutes)
return true if minutes>=15
false
endlate_for_work?(10程式設計客棧) #false
late_for_work?(15) #true
4、重磅方法是指方法名後帶「!」的方法,普通方法返回的是原物件的乙個拷貝,而重磅方法返回的始終是原物件本身,如下邊示例**:
複製** **如下:
x='hello'
y=x.upcase
puts "x:#,y:#" #輸出:x:hello,y:hello x的值未發生改變
x='hello'
y=x.upcase!
puts "x:#,y:#" #輸出:x:hello,y:hello x的值已經發生改變
5、方法中可以使用別名關鍵字「alias」生成方法的乙個拷貝,即使原方法發生了變化,別名拷貝也不會發生變化,如下示例**:
複製** **如下:
def show_alias
puts 'before alias!'
endalias alias_foo show_alias
d程式設計客棧ef show_alias
&nbiwuiqvqolxsp; puts 'after alias!'
endshow_alias #輸出:after alias!
alias_foo #輸出:before alias!
6、ruby的方法可以一次性返回多個值,不過實質上只是表面看來是返回多個值,本質上是返回了乙個陣列,陣列中儲存多個返回值,接收時可以直接定義多個變數一次性接收,如下示例**:
複製** **如下:
def more_result_foo
x=5y=x*x
z=y-x+2
return x,y,z #返回x,y,z三個值
enda,b,c=miwuiqvqolxore_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中的方法(函式)學習總結
本文位址:
函式學習總結
1.為什麼定義函式,使用函式 在程式的設計過程中,會在許多地方出現想同的 為了減少 數量,讓程式變得更加美觀,此時可以將這段程式單獨作為乙個整體,並用識別符號起乙個名字,當時使用時,直接呼叫函式名即可。這段程式叫作子程式,就是我們所說的函式。2.函式的定義 1 定義的語法形式 資料型別 函式名 形式...
函式學習總結
從開學到現在學習函式知識三個周,我從中學會了很多,但 也有很多疑惑和不懂的地方,下面是我的一些學習總結 第一點函式需要先定義,定義之後才能使用,函式的一般形式 如下 第二點函式呼叫的含義 為函式分配儲存空間,執行函式。函式呼叫的過程 第三點引用的概念 型別名 引用名 某變數名。某個變數的引 用和這個...
函式學習總結
一.知識點 1.語法形式 資料型別 函式名 形式參數列 函式體 注 1 資料型別指返回值型別 void無返回值 2 形參表可空 但 不可省 2.函式呼叫三種方式 1 傳數值 實參賦值給形參,在被呼叫函式中形參值可以改變,但不影響主調函式的實參值,主函式的值仍為呼叫前的值,例如用swap函式交換ab兩...