Ruby 入門指南 - 方法





































Ruby 入門指南 - 方法






方法 (method) 是一種功能性的模組,可以將程式 (program) 分割成小部分,藉由呼叫方法安排執行順序




定義方法使用關鍵字 (keyword) def ,其後空一格接方法名稱,方法名稱後視需要可接小括弧,小括弧用來放參數列 (parameter list) ,方法可以有參數 (parameter) 也可以沒有參數,沒有參數的方法自然不需要小括弧,另外方法預設最後一個值為回傳值 (return value) ,亦可用 return 設定回傳值。我們舉一例如下
def big(a, b) 
if (a > b)
return a
else
return b
end
end



big() 方法回傳兩個參數中的較大值,參數數量則是依需求自己定義,這裡為兩個 ab ,另外此例用了兩個 return ,這裡 return 就是方法結束執行,將控制權交還原本呼叫方法的地方。


我們將 big() 寫成一個完整範例
def big(a, b) 
if (a > b)
return a
else
return b
end
end

puts
puts big(33, 22)
puts big("John", "Mary")
puts

=begin
《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:big.rb
功能:示範 Ruby 程式
作者:張凱慶
時間:西元 2012 年 12 月
=end



第 10 行先比較 33 與 22 的大小,然後印出哪一個比較大
puts big(33, 22)



第 11 行則是比較 "John" 與 "Mary" 的大小,字串比較是先比較第一個字元,按字母順序,順序越後面的值越大
puts big("John", "Mary")



執行結果如下



函數常見的運用為重複性質的工作,我們另舉一例如下
def print_newline
puts
end

def print_something(a)
puts a
end

def return_something(a)
a
end

print_newline
print_something(return_something("There is no spoon."))
print_newline

=begin
《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:printdemo.rb
功能:示範 Ruby 程式
作者:張凱慶
時間:西元 2012 年 12 月
=end



這裡總共有三個方法, print_newline 就是簡單的印出新行
def print_newline
puts
end



print_something() 則是印出參數 a
def print_something(a)
puts a
end



return_something() 則是回傳參數,這裡可以看到當方法只有一個回傳值之時,就是回傳最後一個值
def return_something(a)
a
end



執行結果如下



學會方法後,我們要進一步來看看怎麼設計類別 (class) 囉!


































中英文術語對照
方法method
程式program
關鍵字keyword
參數列parameter list
參數parameter
回傳值return value
類別class



您可以繼續參考
基礎篇

  • 認識 Ruby 語言

  • 如何執行 Ruby 程式

  • 資料型態與變數

  • 變數命名規則

  • 運算式與陳述

  • 選擇

  • 迴圈

  • 方法

  • 類別





相關目錄

回 Ruby 入門指南
回 Ruby 教材
回首頁



參考資料

http://www.rubyist.net/~slagell/ruby/methods.html
http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_methods.html







沒有留言:




















window.___gcfg = { 'lang': 'zh-TW' };





Popular posts from this blog

迅雷 Thunder 7.9.43.5054 免安裝版 (9.1.41.914 安裝版) - 支援BT下載的萬用 檔案下載工具

Nhiều đồn đoán cho rằng bộ đồ "phá vỡ quy tắc" của Meghan Markle được lấy cảm hứng từ trang phục của Công nương Diana

Cụ ông 92 tuổi gào khóc vì mất hết tiền tiết kiệm cả đời, càng cay đắng hơn khi kẻ trộm là đứa cháu trai 34 tuổi