如何在 StringTemplate 中创建一个 java 数组?

问题描述

有没有办法从 .stg 文件本身的 StringTemplate 的输入参数创建一个 java 数组?

从ANTLR语法,我调用模板函数如下:

ANTLR 代码

 num_list
                : ^(LIST (nf+=num_factor)+)         -> num_list_template(vars={$nf})
                ; 
num_factor
               : number                         -> template(num={$number.st}) "<num>"

字符串模板文件

num_list_template(vars) ::= <<
$1.makeList(<vars>)
>>

makeList 方法的 Java 实现:

public List<Double> makeList(Double[] objects) {
            List list = new ArrayList<>();
            //some code
            return list;
        }

这里我需要让 StringTemplate 方法 num_list_template(vars) 生成一个对象数组并将该数组作为参数传递给 $1.makeList(..) 方法

vars 已经是来自 ANTLR 语法的列表,但 StringTemplate 无法将其识别为数组。

是否可以将String Template方法的输入参数转换为java Array?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)