Arrays 在Julia中对一维数组的所有元素求和

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帖子中要求对多维数组求和的语法时,也会出现此消息。

这是一个相当基本的问题,但我找不到与这个问题相关的问题。假设有一个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帖子中要求对多维数组求和的语法时,也会出现此消息。 那么这里的问题是什么呢?

对我来说很有用:

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
后者的速度是我的两倍多,零分配