构造字符串时,包含可选参数非常简单:
julia> "Hallo $(true ? "Nils" : "")"
"Hallo Nils"
julia> "Hallo $(false ? "Nils" : "")"
"Hallo "
但是,当尝试将相同的技术应用于反引号表示法(运行外部命令)时,会出现以下问题:
julia> `command $(true ? "--flag" : "")`
`command --flag`
julia> `command $(false ? "--flag" : "")`
`command ''`
在后一种情况下,我执行的命令将失败,因为它将''
解释为无效参数。
julia> `command $(false ? "--flag" : nothing)`
`command nothing`
同样不起作用,因为关键字nothing
会被翻译为文字。
我有哪些语法选项,使用带有可选参数的反引号表示法?
答案 0 :(得分:4)
使用空数组。字符串将始终插入到一个参数,但数组扩展为可变数量的参数(可能包括0个参数)。
julia> `command $(false ? "--flag" : [])`
`command`