Ruby中的方法(函式)學習總結

2022-10-04 23:45:17 字數 1887 閱讀 5036

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兩...