当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。