1
以下のコードでは、structListは各key
がテンプレート内の文字列で、value
が置換文字である構造体のリストです。このEnum.reduceとString.replaceの組み合わせの正しい式は何ですか?
key
上記いずれかでそう
%ParamStruct{default: "Greater London", description: "Region",
key: "ca_cert_subj_state", label: "State/County", order: 99, required: false,
value: "Greater London"}
はca_cert_subj_state
であり、値がGreater London
これは、置換が行われた文字列である:
sslCmd = """
openssl req -x509 -new -nodes -sha256 \
-key {{key-file-pass}}.key \
-days 3650 \
-out {{key-file-pass}}.pem \
-subj ""\
/C={{ca_cert_subj_country}}\
/ST={{ca_cert_subj_state}}\
/L={{ca_cert_subj_location}}\
/O={{ca_cert_subj_organization}}\
/OU={{ca_cert_subj_org_unit}}\
/CN={{ca_cert_subj_common_name}}\
/emailAddress={{ca_cert_email}}\
"""
Enum.reduce(structList, sslCmd, fn(x, sslCmd) -> sslCmd = String.replace(sslCmd, "{{#{x.key}}}", x.value)
end)
このコードをすることになっていますsslCmdの文字列を変更した結果が蓄積されますが、明らかに機能しません。私はそれがどのように再帰的に繰り返すべきかわからない。何か案は?