关键字参数
关键字参数在 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"