使用字串巨集
字串巨集是某些巨集呼叫的語法糖。解析器擴充套件語法
mymacro"my string"
成
@mymacro_str "my string"
然後,像任何其他巨集呼叫一樣,替換為 @mymacro_str 巨集返回的任何表示式。Base Julia 附帶了幾個字串巨集,例如:
@b_str
此字串巨集構造位元組陣列而不是字串 。編碼為 UTF-8 的字串內容將用作位元組陣列。這對於與低階 API 介面非常有用,其中許多 API 使用位元組陣列而不是字串。
julia> b"Hello World!"
12-element Array{UInt8,1}:
0x48
0x65
0x6c
0x6c
0x6f
0x20
0x57
0x6f
0x72
0x6c
0x64
0x21
@big_str
這個巨集將返回從它給出的字串解析的 BigInt 或 BigFloat。
julia> big"1"
1
julia> big"1.0"
1.000000000000000000000000000000000000000000000000000000000000000000000000000000
這個巨集的存在是因為 big(0.1) 的行為並不像人們最初期望的那樣:0.1 是真正的 0.1(1//10)的 Float64 近似,並且促進 BigFloat 將保持 Float64 的近似誤差。使用巨集將 0.1 直接解析為 BigFloat,減少了逼近誤差。
julia> big(0.1)
1.000000000000000055511151231257827021181583404541015625000000000000000000000000e-01
julia> big"0.1"
1.000000000000000000000000000000000000000000000000000000000000000000000000000002e-01
@doc_str
此字串巨集構造 Base.Markdown.MD 物件,這些物件在內部文件系統中用於為任何環境提供富文字文件。這些 MD 物件在終端中呈現良好:

以及在瀏覽器中:

@html_str
此字串巨集構造 HTML 字串文字,在瀏覽器中很好地呈現:

@ip_str
此字串巨集構造 IP 地址文字。它適用於 IPv4 和 IPv6:
julia> ip"127.0.0.1"
ip"127.0.0.1"
julia> ip"::"
ip"::"
@r_str
此字串巨集構造 Regex 文字 。
@s_str
此字串巨集構造 SubstitutionString 文字,它與 Regex 文字一起使用,以允許更高階的文字替換。
@text_str
這個字串巨集在精神上類似於 @doc_str 和 @html_str,但沒有任何花哨的格式化功能:

@v_str
此字串巨集構造 VersionNumber 文字。請參閱版本號以獲取它們的描述以及如何使用它們。
@MIME_str
此字串巨集構造單一型別的 MIME 型別。例如,MIME"text/plain" 是 MIME("text/plain") 的型別。