反引号表示法中的可选参数

时间:2016-11-22 16:15:42

标签: julia

构造字符串时,包含可选参数非常简单:

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会被翻译为文字。

我有哪些语法选项,使用带有可选参数的反引号表示法?

1 个答案:

答案 0 :(得分:4)

使用空数组。字符串将始终插入到一个参数,但数组扩展为可变数量的参数(可能包括0个参数)。

julia> `command $(false ? "--flag" : [])`
`command`