如何在 Julia 中到处定义宏?
How to define a macro everywhere in Julia?
我有一个简单的宏
macro lit_str(s)
s
end
我正在使用它来生成正则表达式模式。 (上下文 here)。通常我将它包装在一个名为 HelperFunctions 的模块中(并使用 ```export @lit_str 导出它)。我正在尝试在通过 RemoteRef 调用的函数中使用它,但即使我这样做了
@到处都在使用 HelperFunctions
我收到类似
的错误
exception on exception on 3: exception on 2: 4: ERROR: @lit_str not defined
in eval at C:\cygwin\home\vagrant\buildbot\slave\package_win8_1-x64\build\base\sysimg.jl:7
in anonymous at multi.jl:1305
in anonymous at multi.jl:855
in run_work_thunk at multi.jl:621
in anonymous at task.jl:855
ERROR: @lit_str not defined
in eval at C:\cygwin\home\vagrant\buildbot\slave\package_win8_1-x64\build\base\sysimg.jl:7
in anonymous at multi.jl:1305
in anonymous at multi.jl:855
in run_work_thunk at multi.jl:621
in anonymous at task.jl:855
ERROR: @lit_str not defined
in eval at C:\cygwin\home\vagrant\buildbot\slave\package_win8_1-x64\build\base\sysimg.jl:7
in anonymous at multi.jl:1305
in anonymous at multi.jl:855
in run_work_thunk at multi.jl:621
in anonymous at task.jl:855
是否有任何方法可以导出宏,以便它可以被使用 remoteref 生成的进程使用?
这很简单,但我会把解决方案放在这里,以防其他人遇到同样的问题。我需要做
addprocs(numprocs)
之前
@everywhere using WhatNot
因为我是在 Jupyter 中执行此操作而不是通过调用 julia -p 8 myfile.jl
。
我有一个简单的宏
macro lit_str(s)
s
end
我正在使用它来生成正则表达式模式。 (上下文 here)。通常我将它包装在一个名为 HelperFunctions 的模块中(并使用 ```export @lit_str 导出它)。我正在尝试在通过 RemoteRef 调用的函数中使用它,但即使我这样做了
@到处都在使用 HelperFunctions
我收到类似
的错误exception on exception on 3: exception on 2: 4: ERROR: @lit_str not defined
in eval at C:\cygwin\home\vagrant\buildbot\slave\package_win8_1-x64\build\base\sysimg.jl:7
in anonymous at multi.jl:1305
in anonymous at multi.jl:855
in run_work_thunk at multi.jl:621
in anonymous at task.jl:855
ERROR: @lit_str not defined
in eval at C:\cygwin\home\vagrant\buildbot\slave\package_win8_1-x64\build\base\sysimg.jl:7
in anonymous at multi.jl:1305
in anonymous at multi.jl:855
in run_work_thunk at multi.jl:621
in anonymous at task.jl:855
ERROR: @lit_str not defined
in eval at C:\cygwin\home\vagrant\buildbot\slave\package_win8_1-x64\build\base\sysimg.jl:7
in anonymous at multi.jl:1305
in anonymous at multi.jl:855
in run_work_thunk at multi.jl:621
in anonymous at task.jl:855
是否有任何方法可以导出宏,以便它可以被使用 remoteref 生成的进程使用?
这很简单,但我会把解决方案放在这里,以防其他人遇到同样的问题。我需要做
addprocs(numprocs)
之前
@everywhere using WhatNot
因为我是在 Jupyter 中执行此操作而不是通过调用 julia -p 8 myfile.jl
。