julia - 定义中的评估
问题描述
我对标题感到抱歉,但我找不到更好的标题。
让我们定义
function test(n)
print("test executed")
return n
end
f(n) = test(n)
每次我们打电话f
我们都会得到
f(5)
test executed
5
有没有办法告诉朱莉娅test
在定义中评估一次f
?
我预计这可能是不可能的,在这种情况下,我有一个稍微不同的问题。如果ar=[1,2,:x,-2,2*:x]
有什么方法可以定义f(x)
为的总和ar
,即f(x) = 3*x+1
?
解决方案
如果要根据类型信息进行编译,可以使用@generated
functions。但似乎您想根据输入的运行时值进行编译。在这种情况下,您可能想要做记忆。有一个库Memoize,它提供了一个用于记忆功能的宏。
推荐阅读
- flutter - Dart & SQFLite & DatabaseException
- docker - 在 docker 容器上运行 crontab 未运行?
- c++ - 如何检查 C++ STL 列表是否为回文?
- php - 如何使用数据库 php 中的整数
- regex - Python,仅针对指定单词从字符串中删除所有非字母字符
- javascript - 从数组中扩展现有对象的数据
- java - 子节点的标签可以与根节点相同吗?
- javascript - How to store independent variables into an array as an object
- c# - Read SqlDataReader after Exception -- LIKE SSMS Result Pane
- mysql - count by name the number of all values, within a given DB SQL column