2017-04-12 122 views
4

当我尝试做为什么红宝石在这里需要括号?

assert_equal { dry: true }, res 

我得到

syntax error, unexpected ':', expecting '}' 

     assert_equal { dry: true }, res 

assert_equal({ dry: true }, res) 

工作正常。为什么第一种形式不足以让红宝石​​了解我的意思是什么 ?或者更确切地说,Ruby认为我正在尝试做什么?

回答

3

在第一个示例中,花括号被解释为定界块。由于dry: true不是一个合法的表达式,因此您会得到一个SyntaxError

+0

相关提示,谢谢:) – Paladin