此代码不会生成错误。 (Groovy 2.2.1)
public class C {
def getProperty(String name) {
name;
}
def m(x) {
println x
return this;
}
def go() {
r = m x m y m z; // this is OK
println r;
}
}
然而,确实如此。
public class C {
def getProperty(String name) {
Keyword.intern(name);
}
def m(x) {
println x
return this;
}
def go() {
println(m x m y m z); // this is NOT
}
}
它会出现以下错误。
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
foo.groovy: 39: unexpected
token: x @ line 39, column 19.
println(m x m y m z); // this is NOT
1 error
如何在方法调用parens内外进行此转换?
答案 0 :(得分:4)
据我所知,命令链(这是这个语法糖的名称)仅在语句位置支持。至少在Groovy 1.8中引入它们就是这种情况。