次のGroovy/Gremlinスニペットの違いは何ですか?(両方とも* .groovyファイルとして保存され、で実行されます./gremlin.sh -e [filename].groovy
)
class user
{
String username
static void main(String[] args)
{
user mtm = new user()
mtm.username = "MuffinTheMan"
println mtm.username
}
}
と
class User
{
String username
static void main(String[] args)
{
User mtm = new User()
mtm.username = "MuffinTheMan"
println mtm.username
}
}
1つ目は、これに似た3つのコンパイルエラーを示します。
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script1.groovy: 7: Apparent variable 'mtm' was found in a static scope but doesn't
refer to a local variable, static field or class. Possible causes:
You attempted to reference a variable in the binding or an instance variable from
a static context.
You misspelled a classname or statically imported field. Please check the spelling.
You attempted to use a method 'mtm' but left out brackets in a place not allowed
by the grammar.
@ line 7, column 14.
user mtm = new user()
2つ目は、コンパイルと実行が正常に行われ、次のように出力されます。
MuffinTheMan