關鍵字引數
關鍵字引數在 Ruby 2.0 中引入,並在 Ruby 2.1 中進行了改進,增加了必需的關鍵字引數。
使用關鍵字引數的簡單方法如下所示:
def say(message: "Hello World")
puts message
end
say
# => "Hello World"
say message: "Today is Monday"
# => "Today is Monday"
作為提醒,沒有關鍵字引數的相同方法將是:
def say(message = "Hello World")
puts message
end
say
# => "Hello World"
say "Today is Monday"
# => "Today is Monday"
Version < 2.0
你可以使用 Hash 引數在以前的 Ruby 版本中模擬關鍵字引數。這仍然是一種非常常見的做法,特別是在提供與 2.0 之前的 Ruby 版本相容的庫中:
def say(options = {})
message = options.fetch(:message, "Hello World")
puts
end
say
# => "Hello World"
say message: "Today is Monday"
# => "Today is Monday"