當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Julia macro用法及代碼示例


用法:

macro

macro 定義了一種將生成的代碼插入程序的方法。宏將一係列參數表達式映射到返回的表達式,然後在調用宏的位置將結果表達式直接替換到程序中。宏是一種無需調用 eval 即可運行生成代碼的方法,因為生成的代碼隻是成為周圍程序的一部分。宏參數可能包括表達式、文字值和符號。可以為可變數量的參數 (varargs) 定義宏,但不接受關鍵字參數。每個宏還隱式傳遞參數 __source__ ,其中包含調用宏的行號和文件名,以及 __module__ ,這是宏擴展的模塊。

例子

julia> macro sayhello(name)
           return :( println("Hello, ", $name, "!") )
       end
@sayhello (macro with 1 method)

julia> @sayhello "Charlie"
Hello, Charlie!

julia> macro saylots(x...)
           return :( println("Say: ", $(x...)) )
       end
@saylots (macro with 1 method)

julia> @saylots "hey " "there " "friend"
Say: hey there friend

相關用法


注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 macro — Keyword。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。