我有以下values.yaml
-
foo:
- a: bar1
b: bar2
- a: bar3
b: bar4
我正在使用以下模板-
data:
string:
{{range .Values.foo}}
{{ .a ` and ` .b ` or `}}
{{end}}
输出为-
data:
string: bar1 and bar2 or bar3 and bar4 or
如何摆脱尾随或?
当迭代列表的range
时,可以将局部变量设置为实际的索引和值(镜像Go语义)。因此,您可以将其更改为将“或”放在开头,但第一次在循环中跳过它。
data:
string:
{{ range $i, $v := .Values.foo -}}
{{- if ne $i 0 }} or {{ end -}}
{{- printf "%s and %s" $v.a $v.b -}}
{{- end }}