在 StringTemplate 4 中,迭代的默认行为是迭代keys
而不是values
,这是版本 3 中的行为。
我找不到如何在版本 4 中同时迭代keys
和的语法。 values
有人可以发布语法示例吗?
在 StringTemplate 4 中,迭代的默认行为是迭代keys
而不是values
,这是版本 3 中的行为。
我找不到如何在版本 4 中同时迭代keys
和的语法。 values
有人可以发布语法示例吗?
您可以使用间接属性引用来获取当前迭代中键的值。你是这个意思吗?
<myMap.keys:{k | <k> maps to <myMap.(k)>}; separator="\n">
印刷:
Jake maps to Dog
Finn maps to Human
样本输入:
List<String> myList = new ArrayList<>();
myList.add("k1");
myList.add("k2");
myList.add("k3");
Map<String,String> myMap = new HashMap<>();
myMap.put("k1", "v1");
myMap.put("k2", "v2");
myMap.put("k3", "v3");
以随机顺序打印键值对。
$myMap.keys:{key | $key$ maps to $myMap.(key)$ }; separator="\n"$
输出:(随机顺序)
k3 maps to v3
k1 maps to v1
k2 maps to v2
按列表定义的顺序打印键值对。
$myList:{item | $item$ maps to $myMap.(item)$ }; separator="\n"$
输出:(订购)
k1 maps to v1
k2 maps to v2
k3 maps to v3