http://julia.readthedocs.org/en/latest/manual/metaprogramming/讨论了Julia中的宏,它通常以@
开头,但也列出了两个特殊的宏text_str
和cmd
,它们处理text"string"
和`shell command`
分别。是否有Julia支持的这些特殊宏的完整列表?是否可以定义自己的?
答案 0 :(得分:6)
因此所有宏(包括字符串文字宏)都在exports.jl
中。
如果您一般都在询问这些特殊的语法转换,比如字符串文字宏,我不认为这是一个容易回答的问题:有多种任意语法翻译,就像你在用户代码中无法做到的那样(没有使用@
表示您正在使用宏转换语法。大多数朱莉娅宏观或功能上的东西都不是魔术,但是字符串文字,ccall
,甚至像A'c
之类的东西都是合格的。
答案 1 :(得分:3)
最有把握的最新方法是输入文件夹base
并说出grep @ exports.jl
。如果您不在类似Unix的平台上,那么打开该文件并查看# Macros
部分也会有效。
答案 2 :(得分:3)
确实可以制作自己的;实际上每个形式的宏
macro x_str(...)
end
是一个String宏。从0.6开始,
也支持命令宏macro x_cmd(...)
end