Ruby簡明教程之方法(Method)介紹_ruby專題

來源:互聯網
上載者:User

Ruby做為物件導向語言,肯定要對對象進行相關的操作,這時候就涉及到方法了。

調用方法 - 對象.方法名(實參1,實參2,...,實參n)

方法的分類:

1. 執行個體方法:顧名思義,就是由執行個體來調用的方法。例如,“10, 20, 30, 40”.split(",")

2. 類方法:就是由類來調用的方法。當建立一個執行個體時,則需要調用類方法。

複製代碼 代碼如下:

a = Array.new  #建立一個新數組
File.rename(oldname, newname)  #變更檔名

調用類方法時,可以使用".",也可以使用"::"

3. 函數方法:直接省略調用者的方法。例如,sin(3.14),sleep(100), print("hello!")

定義方法:

複製代碼 代碼如下:

=begin
文法:def 方法名(參數1,參數2,。。。)
        想要執行的動作
      end
=end

def hello(name)
  print("Hello, ", name, ".\n")
end

hello("Ruby")    # =>Hello, Ruby.

#可以為參數指定預設值
def hello(name="Ruby")
  print("Hello, ", name, ".\n")
end

hello()   # =>Hello, Ruby.
hello("Newbie")   # =>Hello, Newbie.

#當方法中不止一個參數時,預設值必須從右端的參數開始指定
def func(a, b=1, c=2)   # 有兩個參數可以省略,則應設計成右邊2個可以省略
   .....
end

方法的傳回值
和JAVA語言類似,可以使用return來指定傳回值。在方法中可以直接使用return語句來返回方法結果。

複製代碼 代碼如下:

def volume(x,y,z)
  return x*y*z
end

p volumne(2,3,4)  # => 24


在Ruby語言中,return語句也可以省略,這時,方法中最後一個語句的計算值會是傳回值。
複製代碼 代碼如下:

def area(x, y, z)
  xy = x*y
  yz = y*z
  xz = x*z
  (xy + yz + xz)*2
end

p area(2, 3, 4)  # => 52


如果存在if...else等邏輯結構時候,省略了return,則不一定是最後一個語句的計算值作為傳回值,而是要根據當前的邏輯結構看那條語句執行。
想要在某些情況下,直接跳出方法,則可以在加上return語句。

Note: 若省略return後面的實參,則會返回nil (相當於JAVA中的null.)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.