Syntax 在Groovy类中,方法调用括号内的getProperty()解析是否不同?
此代码不会生成错误。Groovy 2.2.1Syntax 在Groovy类中,方法调用括号内的getProperty()解析是否不同?,syntax,groovy,Syntax,Groovy,此代码不会生成错误。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
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
如何在方法调用参数内部和外部进行转换?据我所知,命令链是这种语法糖的名称,仅在语句位置受支持。至少在Groovy 1.8中引入它们时是这样的。据我所知,命令链是这种语法糖的名称,仅在语句位置受支持。至少在Groovy 1.8中引入它们时是这样的。谢谢!这有点让人扫兴。试图通过为其他人提供一致和无缝的API。groovy和遇到这样的事情让这很困难。至少在我的Groovy经验水平上是这样的:你可以用{printlnit}做:mxmyz,但那不是很漂亮-谢谢这有点让人扫兴。试图通过为其他人提供一致和无缝的API。groovy和遇到这样的事情让这很困难。至少在我的Groovy经验水平上是这样的:你可以用{printlnit}做:mxmyz,但那不是很漂亮-