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

Neo*_*Neo 5 groovy groovyshell groovy-console

以下是2行代码:

def name = "Neo"
println name
Run Code Online (Sandbox Code Playgroud)

如果我执行它groovysh,我会得到Unknown property: name错误.如果我执行它groovyConsole,一切都很顺利.

dma*_*tro 6

如果你想要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>
Run Code Online (Sandbox Code Playgroud)