为什么 groovyConsole 支持 `def name = "Neo"` 而 groovysh 不支持

Why groovyConsole supports `def name = "Neo"` while groovysh does not

以下是2行代码:

def name = "Neo"
println name

如果我在 groovysh 中执行它,我将得到 Unknown property: name 错误。 如果我在 groovyConsole 执行它,一切都会顺利。

如果你想要 Groovy 2.4.0 的功能,你可以使用

:set interpreterMode true 看看有什么不同。 :)

groovy:000> def a = 10
===> 10
groovy:000> a
Unknown property: a
groovy:000> :set interpreterMode true
groovy:000> a
Unknown property: a
groovy:000> def b = 100
===> 100
groovy:000> b
===> 100
groovy:000>