定義:
def method_name(param1, param2) #參數一個或2個都可以,但有多少參數就要有多少引數
#內容
end
使用:
method_name(param) #把方法呼叫出來
可以預設參數:
def hello (someone = "luna")
puts "hi,#{someone} welcome my blog"
end
hello()
#如果沒有放入引數,他會出現hi,luna welcome my blog
#如果有放入引數hello("lily"),會出現hi,lily welcome my blog
回傳 = 交回控制權
呼叫方法與回傳值:
def calculate(num)
return 2*num
end
puts calculate(3)
以上面方法為例,當執行時會有的步驟
當有 return 時,在方法外面呼叫並用 puts 方法印出時會有回傳值,如果沒有 return 在方法外面用 puts 方法印出時會出現 nil,如要有內容印出,須在方法裡使用 puts 方法,才能在沒有回傳值的時候呼叫方法名字並印出內容,唯一例外的是 p 方法他也是印出的方法但他同時也有回傳值的功能,不過不建議用 p 取代 return,例
def calculate(num)
return 2 x num #有return才有回傳值
end
puts calculate(3) #執行時用p方法呼叫並印出內容
def calculate(num)
puts 2 x num #沒有return,他不會回傳東西到呼叫那裡,他只是在方法裡把東西印出來
end
p calculate(3) #先呼叫才執行,這裡會出現nil
def calculate(num)
2 x num #沒有return也沒有puts
end
puts calculate(3) #會出現nil,因為沒有回傳值