gpt4 book ai didi

ruby - 当散列是最后一个参数时,括号不应该是可选的吗?

转载 作者:数据小太阳 更新时间:2023-10-29 07:51:52 25 4
gpt4 key购买 nike

我确信这通常是这种情况,但我不确定为什么它在这里不起作用:

这是代码

  let(:stubbed_object_list) { [OpenStruct.new key: "foo"] }

这里是错误:

SyntaxError: ...filepath...: syntax error, unexpected tLABEL, expecting ']'

我可以改用 OpenStruct.new(key: "foo") 来修复代码,但我不明白为什么这是必要的。

我认为它与数组括号有关,因为它工作正常:

  let(:stubbed_object_list) { OpenStruct.new key: "foo" }

最佳答案

如果您添加另一个键值对,它会变得不明确:

[OpenStruct.new key: "foo", other: "bar"]

other: "bar" 可以是另一个数组元素:

[OpenStruct.new(key: "foo"), other: "bar"]
#=> [#<OpenStruct key="foo">, {:other=>"bar"}]

或另一个参数:

[OpenStruct.new(key: "foo", other: "bar")]
#=> [#<OpenStruct key="foo", other="bar">]

关于ruby - 当散列是最后一个参数时,括号不应该是可选的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40775465/

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