gpt4 book ai didi

Ruby 需要关键字参数

转载 作者:行者123 更新时间:2023-12-05 07:48:27 27 4
gpt4 key购买 nike

对于 Ruby 方法,必需的关键字语法很好

def foo(bar:, baz:)
:
end

foo(bar: true, baz: false) # OK
foo(bar: true) # missing keyword argument error

可以用某种魔法“拼写”所需关键字列表吗?即,

required_keywords = [:bar, :baz]
def foo(magic(required_keywords))
:
end

我预计不会,但我经常对可以说服 Ruby 做什么感到惊讶。

最佳答案

splat (*) 和 double splatt (**) 运算符允许方法采用任意数量的参数。前者将参数存储在数组中,后者将它们存储在哈希中。

还有 options hash,它是一个可选的哈希参数,通常作为方法声明中的最后一个参数包含在内。它还可以接受任意数量的参数(实际上,它们是普通的哈希项)。

但是,在上述两种情况下,当您声明方法时,参数的数量是未知的。因此,您不能将未知数量的参数设置为“必需”。

有关 splat、double splat 和所需关键字参数的更多信息,请访问 this blog post。 .

关于Ruby 需要关键字参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38611058/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com