When I try to do
assert_equal { dry: true }, res
I get
syntax error, unexpected ':', expecting '}'
assert_equal { dry: true }, res
but
assert_equal({ dry: true }, res)
works fine. Why is first form not sufficient for ruby to understand what I mean? Or to be more precise, what does Ruby think I'm trying to do?
In the first example, the curly braces are interpreted as delimiting a block. Since dry: true
is not a legal expression, you get a SyntaxError
.