eval(Expr(:call,m.f,x)) 是好朱莉娅吗?

Is eval(Expr(:call,m.f,x)) good Julia?

我希望得到一些指导是否这个成语在这里

h(x) = x^2

type mytype
    f::Function
end
function doit(m::mytype,x)
    eval(Expr(:call,m.f,x))
end

m = mytype(h)
doit(m,3)

当我想以编程方式评估函数时,julian 是个好人。所以,我有一个函数 f 存储在某种类型中,在某个时候我想计算它。

m.f(x) 似乎和 eval(Expr(:call, m.f, x)):

一样好
h(x) = x^2

type mytype
    f::Function
end
function doit(m::mytype,x)
   m.f(x)
end

m = mytype(h)
doit(m,3)

此外,您不需要 doit 并且可以直接调用 m.f(3),至少在您的特定示例中是这样:

h(x) = x^2

type mytype
    f::Function
end

m = mytype(h)
m.f(3)