为什么 ruby 这里需要括号?
Why does ruby require parentheses here?
当我尝试做的时候
assert_equal { dry: true }, res
我明白了
syntax error, unexpected ':', expecting '}'
assert_equal { dry: true }, res
但是
assert_equal({ dry: true }, res)
工作正常。为什么第一种形式不足以让 ruby 理解什么
我是说?或者更准确地说,Ruby 认为我想做什么?
在第一个示例中,大括号被解释为分隔块。由于 dry: true
不是合法的表达式,因此您会得到 SyntaxError
.
当我尝试做的时候
assert_equal { dry: true }, res
我明白了
syntax error, unexpected ':', expecting '}'
assert_equal { dry: true }, res
但是
assert_equal({ dry: true }, res)
工作正常。为什么第一种形式不足以让 ruby 理解什么 我是说?或者更准确地说,Ruby 认为我想做什么?
在第一个示例中,大括号被解释为分隔块。由于 dry: true
不是合法的表达式,因此您会得到 SyntaxError
.