ここに私が理解していないものの核心があります:
% groovysh
Groovy Shell (1.8.6, JVM: 1.6.0_21)
Type 'help' or '\h' for help.
------------------------------------------------------
groovy:000> class vars {
groovy:001> static int x = 1;
groovy:002> }
===> true
groovy:000> println new vars().x
1
===> null
groovy:000> println vars.x
ERROR groovy.lang.MissingPropertyException:
No such property: vars for class: groovysh_evaluate
Possible solutions: class
at groovysh_evaluate.run (groovysh_evaluate:2)
...
vars
が式で何かに解決される場合、式new vars().x
で解決しないのはなぜvars.x
ですか? これは、インスタンス化の目的でのみ実際に存在する幻の識別子のようなものです。