【发布时间】:2017-01-23 10:58:58
【问题描述】:
假设以下方法采用两个关键字参数begin 和end:
def make_range(begin: 0, end: -1)
# ...
end
我可以调用这个方法没有问题:
make_range(begin: 2, end: 4)
但是在实现该方法时如何使用关键字参数,因为两者恰好都是Ruby keywords?
这显然行不通:
def make_range(begin: 0, end: -1)
begin..end
end
请注意,这只是一个示例,该问题适用于所有关键字,而不仅仅是begin 和end。
【问题讨论】:
-
或者,使用 kwargs 和
kwargs[:begin]/kwargs[:end]。您将不得不对参数的正确性和默认值进行老式检查。
标签: ruby keyword keyword-argument