2016-11-22 126 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`