Arrays 在Julia中对一维数组的所有元素求和
这是一个相当基本的问题,但我找不到与这个问题相关的问题。假设有一个array{Int64,1}类型的数组,我想对数组中的所有元素求和。我在网上找到的语法只是在数组中使用sum函数,如下所示:Arrays 在Julia中对一维数组的所有元素求和,arrays,sum,julia,Arrays,Sum,Julia,这是一个相当基本的问题,但我找不到与这个问题相关的问题。假设有一个array{Int64,1}类型的数组,我想对数组中的所有元素求和。我在网上找到的语法只是在数组中使用sum函数,如下所示: sum([i for i in 1:999 if i%3==0 || i%5==0]) 但是,我收到了一条错误消息 MethodError: objects of type Int64 are not callable 当我尝试stackoverflow帖子中要求对多维数组求和的语法时,也会出现此消息。
sum([i for i in 1:999 if i%3==0 || i%5==0])
但是,我收到了一条错误消息
MethodError: objects of type Int64 are not callable
当我尝试stackoverflow帖子中要求对多维数组求和的语法时,也会出现此消息。
那么这里的问题是什么呢?对我来说很有用:
julia> sum([i for i in 1:999 if i%3==0 || i%5==0])
233168
试着重新启动Julia。可能您以前使用sum作为变量,但现在编译器无法将其识别为函数
此外,最好避免分配。无需创建阵列,只需使用生成器即可:
julia> sum(i for i in 1:999 if i%3==0 || i%5==0)
233168
后者的速度是我的两倍多,并且零分配。它对我有效:
julia> sum([i for i in 1:999 if i%3==0 || i%5==0])
233168
试着重新启动Julia。可能您以前使用sum作为变量,但现在编译器无法将其识别为函数
此外,最好避免分配。无需创建阵列,只需使用生成器即可:
julia> sum(i for i in 1:999 if i%3==0 || i%5==0)
233168
后者的速度是我的两倍多,零分配