Helm 模板使用下划线作为范围索引的前缀

Helm template prefixes range index with an underscore

我们可以通过这种方式访问​​索引:

{{- range $i, $s := (some list) }}
{{$i}}
{{-end }}

output:
0
1
..etc

然而,当列表是字符串拆分的结果时,索引会变成带有下划线的前缀

{{- range $i, $s := (split "X" "aaXbbXcc") }}
{{$i}}
{{-end }}

output:
_0
_1
..etc

为什么?

split函数returns一个dict,其索引成员前面有一个_字符作为前缀。当您计划使用点表示法访问成员并且不适合使用 range.

进行迭代时,它很有用

要访问带有索引的字符串列表形式的结果,请使用 splitList。有关详细信息,请参阅 documentation

{{- range $i, $s := (splitList "X" "aaXbbXcc") }}
{{$i}}
{{- end }}