嗨同胞Julia用户,
为什么会这样
using HDF5, JLD
s = "It would take me 48 hours to recompute this."
filename_no_ext = "eric_demo_file"
@save filename_no_ext
readdir()
@load "eric_demo_file"
与此不同的评估?
using HDF5, JLD
s = "It would take me 48 hours to recompute this."
filename_no_ext = "eric_demo_file"
@save filename_no_ext
readdir()
@load filename_no_ext
答案 0 :(得分:3)
与功能相比,宏是非常不同的野兽。其中一个不同之处在于他们没有评估他们的论点:http://docs.julialang.org/en/latest/manual/metaprogramming/#macro-invocation
重要的是要强调宏接收它们的参数作为表达式,文字或符号。
要比较2个输出(左侧作为练习)的含义:
julia> macroexpand(:(@load filename_no_ext))
julia> macroexpand(:(@load "eric_demo_file"))