gpt4 book ai didi

ruby - 根据参数是否为 nil 动态地向方法发送一些参数

转载 作者:数据小太阳 更新时间:2023-10-29 08:24:54 26 4
gpt4 key购买 nike

我想避免这样做:

if a
some_method(a, b)
else
some_method(b)
end

some_method 是一个接受两个参数的函数,第一个是命名空间,如果没有提供则它只接受方法 (b)。

注意事项:

  • 我不能发送带有空字符串或 nil 的 'a'。
  • 我无法修改some_method

有没有办法在一行中做到这一点?

最佳答案

您似乎有一个允许可变数量参数的方法。你可以这样做:

args = [a,b]
some_method(*(args.compact))

这是做什么的:契约从列表中删除 nils。然后 *(splat 运算符)将数组元素“扩展”到适当的位置。

关于ruby - 根据参数是否为 nil 动态地向方法发送一些参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6524781/

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