【问题标题】:Should I use keyword arguments for a method with just a single argument?我应该对只有一个参数的方法使用关键字参数吗?
【发布时间】:2015-06-24 11:13:14
【问题描述】:

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

def say(text = '')
  puts text
end

say('Doh!')
Doh!

def say(text: '')
  puts text
end

say(text: 'Doh!')
Doh!

【问题讨论】:

标签: ruby


【解决方案1】:

关键字参数有几个优点:

  1. 通过使用关键字参数,我们知道参数的含义 查找被调用方法的实现,关键字
  2. 参数允许我们切换参数的顺序,无需 影响方法的行为

但是,如果您的方法只接受单个参数和方法名称足够解释,那么使用位置参数就可以了。

【讨论】:

    【解决方案2】:

    如果您只有一个论点,我建议您使用单个论点。

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

    【讨论】:

      【解决方案3】:

      您可以使用其中任何一种,完全由您决定。关键字参数主要是语法糖。它提高了代码的可读性,并且可以根据您的用例首选。

      【讨论】:

        猜你喜欢
        • 2021-10-08
        • 2022-12-22
        • 2016-06-12
        • 2010-10-04
        • 1970-01-01
        • 1970-01-01
        • 2015-12-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多