2016-09-19 3 views
3

나는 몇 가지 지침 기대했다. 그래서, 나는 어떤 유형에 저장되어있는 함수 f을 가지고 있으며 그것을 평가할 특정 시점에 있습니다. 또한eval (Expr (: call, m.f, x)) 좋은 줄리아인가요? 내가 프로그래밍 기능을 평가하고자 할 때 여기</p> <pre><code>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) </code></pre> <p>이 관용구가 좋은 줄리안 여부

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) 
+0

은 무엇 –

+0

예 죄송합니다. 사용 사례에 좀 더 가깝도록 질문을 편집했습니다. –

+1

타입의 내부 함수는 실제로 좋은 julia가 아닙니다. –

답변

4

m.f(x)

은 좋은 eval(Expr(:call, m.f, x))로 보인다 그냥`f (3)`로 잘못 되었습니까?
+0

mmh, 조금 혼란 스러워요. 왜 내가 그 고안된 표현을 처음부터 사용했는지 기억이 안납니다! 당연히 당신 말이 맞아요, 직접 부르면 돼요. 어리석은 질문으로 밝혀졌습니다 :-) –

+0

하하, 문제 없습니다, 우리 모두 그렇게하겠습니다! –