gpt4 book ai didi

Ruby - 如何向散列添加条件键?

转载 作者:行者123 更新时间:2023-12-01 21:24:52 25 4
gpt4 key购买 nike

我有这个方法创建一个散列:

def build_values(data)
{
key1: data.k1,
key2: data.k2,
key3: (@var == true ? data.k3 : nil),
key4: data.k4,
...
}
end

如果 @var == true,则 key3 的值为 data.k2。那很好。

如果不是true,则key3没有值(实际上,它有nil)。但理想情况下,我根本不想打印 key3

我该怎么做?这样的事情不起作用:

def build_values(data)
{
key1: data.k1,
key2: data.k2,
if @var == true
key3: data.k3
end,
key4: data.k4,
...
}
end

最佳答案

不是最漂亮的解决方案,但可以使用 **:

{
key1: data.k1,
key2: data.k2,
**(@var == true ? { key3: data.k3 } : {}),
key4: data.k4,
}

请注意,如果您只关心 @var 是否真实,则可以省略 == true

关于Ruby - 如何向散列添加条件键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63227532/

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