我想获取模板中所需的变量列表。
例如考虑模板:
Hello ${firstName} ${surname}
我想得到清单['firstName', 'surname']
在开始自己解析字符串之前,我想知道 groovy 是否为我准备好了一些东西?
它们似乎不再在运行时可用。
我编译了以下类:
class Gstr {
static main(args) {
def a = 10
def c = 20
def b = "the value is ${a} with ${c}"
println( b.class )
println (b.values)
println (b.strings)
}
}
使用 jd-gui 反编译后,会出现以下内容:
Object a = Integer.valueOf(10);
Object c = Integer.valueOf(20);
Object b = new GStringImpl(
new Object[] { a, c }, new String[] { "the value is ", " with ", "" });
arrayOfCallSite[0].callStatic(
Gstr.class, arrayOfCallSite[1].callGetProperty(b));
arrayOfCallSite[2].callStatic(
Gstr.class, arrayOfCallSite[3].callGetProperty(b));
arrayOfCallSite[4].callStatic(
Gstr.class, arrayOfCallSite[5].callGetProperty(b));
它们似乎在编译中通过引用绑定。