我对标题感到抱歉,但我找不到更好的标题。
让我们来定义
function test(n)
print("test executed")
return n
end
f(n) = test(n)
每当我们致电f
时,我们都会
f(5)
test executed
5
有没有办法告诉julia在test
的定义中评估一次f
?
我希望这可能不可能,在这种情况下,我的问题略有不同。如果ar=[1,2,:x,-2,2*:x]
有任何方法可以将f(x)
定义为ar
的总和,即f(x) = 3*x+1
?
答案 0 :(得分:4)
如果要根据类型信息进行编译,可以使用@generated
functions。但似乎您希望根据输入的运行时值进行编译。在这种情况下,您可能想要进行memoization。有一个库Memoize,它为记忆功能提供了一个宏。