【问题标题】:Optional argument/param in ruby [duplicate]ruby 中的可选参数/参数 [重复]
【发布时间】:2016-08-16 14:41:51
【问题描述】:

我有一个方法,我想传递一个可选参数。默认情况下,我想将该参数设置为 nil。这是我的做法:

def my_function(arg1, arg2: nil)
  # Do something
end

我将该函数称为my_function(2, 5)。我收到一条错误消息: “参数数量错误(给定 2,预期 1)”

我在这里做错了吗?我希望在某些调用期间为 arg2 传递一个值,否则希望它为零。因此,当我不为 arg2 传递值时,我的函数调用看起来像 my_function(2)

【问题讨论】:

  • 你也可以使用my_function(2, arg2: 5)

标签: ruby-on-rails ruby


【解决方案1】:

试试

def my_function(arg1, arg2 = nil)

【讨论】:

    【解决方案2】:

    您正在定义一个默认关键字参数(相对于位置参数)。您可以调用使用my_function(2)my_function(2, arg2: 5) 定义的函数。如果您想使用位置参数,可以将其定义为 def my_function(arg1, arg2 = nil)

    这里有一些关于关键字参数的细节。 https://robots.thoughtbot.com/ruby-2-keyword-arguments

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-14
      • 2021-10-20
      • 2012-06-17
      • 2010-12-16
      • 2017-01-01
      • 2012-01-03
      • 1970-01-01
      • 2023-04-07
      相关资源
      最近更新 更多