【发布时间】:2023-01-09 16:30:23
【问题描述】:
当我尝试下面的代码时:
function f(x)
Meta.parse("x -> x " * x) |> eval
end
function g(x)
findall(Base.invokelatest(f,x),[1,2,3]) |> println
end
g("<3")
Julia 抛出“适用的方法可能太新”错误。
如果我在下面尝试这些代码:
function f(x)
Meta.parse("x -> x " * x) |> eval
end
findall(f("<3"),[1,2,3]) |> println
Julia 可以给我更正的结果:[1, 2]
我如何修改第一个代码以使用字符串在其他函数中生成函数,Thx!
在 Julia 1.6.7 中测试
【问题讨论】:
标签: function julia expression metaprogramming