iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
Modern Web

Ruby新手村的礦工日記系列 第 11

[ Day 11 ] Ruby 使用一些方法吧

  • 分享至 

  • xImage
  •  

前面在討論變數的時候,不曉得大家有沒有注意到defend
這個在 Rails 裡面很常見,但這邊不會介紹到 Rails ,後面會在介紹它。

那你就會問,為什麼需要使用方法?
主要分兩點:

  1. 將可能會重複使用的東西包起來,並給一個名稱
  2. 比較能夠理解程式碼

定義方法

在 Ruby 定義方法,使用的是 def
他長得是這樣的:

def method_name(param1,param2)
# 程式邏輯
end

那我們就實際來寫一個方法吧!

def say_hello_to(name)
  puts "hello, #{name}"
end

恭喜!你已經寫了你的第一個方法了!

呼叫方法

既然你已經寫了一個方法,那我們來呼叫他吧!

say_hello_to("kitty") # hello, kitty

在 Ruby 中,很常省略東西,以上面的例子來看:

say_hello_to "kitty" # hello, kitty

我們可以視情況而定,去選擇要不要省略括號。

參數預設值

在定義方法時,可幫參數上預設值:

def say_something(message = "something")
  puts "say #{message}"
end

say_something()      #say something
say_something("yes") #say yes

所以上面的例子,你會發現,如果沒有傳參數給 say_something 的話,say_something() 會印出 say something ,如果有給,他就會印出 say yes

回傳值(return)

有寫過程式的人都知道用 return 回傳。

def multiplication(num1, num2)
  return num1*num2
end

puts multiplication(2, 5) # 10

return 可以省略?!

想不到吧!在 Ruby 中,竟然連 return 都可以省略。
在 Ruby 中它會自動回傳方法(method)最後一行的結果,通常會省略return

def double(num)
  num * 2
end

puts double(10) # 20

參考資料:

  1. 為你自己學 Ruby on Rails

上一篇
[ Day 10 ] Ruby 關於符號的一些事
下一篇
[ Day 12] Ruby 流程控制
系列文
Ruby新手村的礦工日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言