關鍵字引數

關鍵字引數在 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"