我应该只为一个参数使用关键字参数吗?

时间:2015-04-17 14:25:33

标签: ruby

如果我的方法只需要一个参数,我应该使用关键字参数吗?

def say(text = '')
  puts text
end

say('Doh!')
Doh!

def say(text: '')
  puts text
end

say(text: 'Doh!')
Doh!

3 个答案:

答案 0 :(得分:0)

你可以使用其中任何一个,这完全是你的决定。关键字参数主要是语法糖。它提高了代码的可读性,可以根据您的使用情况而优先使用。

答案 1 :(得分:0)

如果你只有一个参数,那么我建议单参数。

当您有多个参数要传递时,关键字参数更有意义,您希望它具有合成性,并且对参数的顺序或数量没有限制。

答案 2 :(得分:0)

关键字参数的优点很少:

  1. 通过使用关键字参数,我们知道参数的含义 查找被调用方法的实现,关键字
  2. 参数允许我们切换参数的顺序,而不是 影响方法的行为
  3. 但是,如果你的方法只接受单个参数和方法名称,那么就可以使用位置参数。