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

VPN Gate Client 4.27.9668 (201805030) 簡體中文版 - 不限流量免費VPN軟體 手機可用公共VPN中繼伺服器

JavaScript 入門指南 - 完成版的 Encode Software

Tình cờ gặp nhau 3 lần trên một chuyến xe, tài xế bus kết hôn với nữ hành khách vì "có duyên phận"