2016-11-22 168 views
2

当构建一个字符串,它是非常简单的,包括可选参数:可选参数

julia> "Hallo $(true ? "Nils" : "")" 
"Hallo Nils" 
julia> "Hallo $(false ? "Nils" : "")" 
"Hallo " 

然而,试图在同一技术应用于反引号符号时(运行外部命令),以下问题出现了:

julia> `command $(true ? "--flag" : "")` 
`command --flag` 
julia> `command $(false ? "--flag" : "")` 
`command ''` 

在后一种情况下,我执行会失败的命令,因为它interpretates ''作为一个无效的参数。

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

也不起作用,因为关键字nothing被转换为文本。

对于可选参数使用反引号符号,我有哪些语法选项?

回答

4

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

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