誰能解決我有這個宏的錯誤,它纔開始在0.6版本發生:內部功能朱莉婭V0.6宏觀
mutable struct Foo
x::Int
end
macro test(myfoo)
quoteblock =
quote
myfoo.x += 1
end
return quoteblock
end
function func(myfoo)
@test myfoo
println(myfoo.x)
end
foo = Foo(3)
func(foo)
理論上這應該只是代替線上@test myfoo
在功能func
myfoo.x += 1
在編譯的時候,這應該工作,而是我得到的錯誤:
UndefVarError: myfoo not defined
這解決了我的例子,但顯然我的例子並沒有在我的實際代碼捕獲一些微妙的。當我包含$(esc())時,我立即嘗試加載我的源代碼時立即得到未定義的錯誤。 – Thoth
@Thoth可以發佈整個代碼嗎? – Gnimuc
nm,我想出了一種適應您的解決方案的方法,謝謝。 – Thoth