我正在尝试 Julia 和 DataArray 包。我想用零初始化一个大小由存储在变量“n”中的整数给出的数据数组。但是,我收到一条错误消息“错误:n 未定义”(尽管看起来很明显)。
下面是一个小例子:
using DataArrays
n = 8
@data(zeros(Float64,n))
这对我来说会产生上述错误消息。(注意
using DataArrays
@data(zeros(Float64,8))
确实有效。)
有任何想法吗?
我正在尝试 Julia 和 DataArray 包。我想用零初始化一个大小由存储在变量“n”中的整数给出的数据数组。但是,我收到一条错误消息“错误:n 未定义”(尽管看起来很明显)。
下面是一个小例子:
using DataArrays
n = 8
@data(zeros(Float64,n))
这对我来说会产生上述错误消息。(注意
using DataArrays
@data(zeros(Float64,8))
确实有效。)
有任何想法吗?
n = 8
float64(DataArray(zeros(Float64 ,n)))
会带你去你要去的地方。宏有点糟糕,我能想到的@data
唯一用途是在编写测试时,如果你想说类似的话
x = @data([1,2,3,NA])
通常,列表构造函数会对您产生影响。然而,这也有效:
x = float64(DataArray(Any[1,2,3,NA]))
所以,我不知道。远离那个@data
宏。通常,宏很难从其他模块中看到您的局部变量或函数和变量。这是一个可以明显解决的问题,因为@show
大多数情况下都可以解决,但是许多宏都有这个问题和其他问题。一般来说,宏有点可疑。