朱莉娅:使用具有维度的数组调用Array()函数

6
假设我想创建一个多维数组,其每个维度/每个维度的大小是在一个数组中指定的。我想做这样的事情:
dims = [2,5,6] # random example, the idea is I don't know dims ahead of time
arr = Array(Float64, dims)

这是不允许的。在上述情况下,应该使用:

arr = Array(Float64, dims[1], dims[2], dims[3] )

我不知道dims的长度,所以上面的解决方案对我无效。是否有一种干净的解决方法,可以避免使用一些恶心的sprintf和eval?
谢谢!

通常在Julia中不会使用sprintf和eval结合。对于元编程,有更好的选择。 - ivarne
1个回答

10

在Julia中需要记住的一个非常有用的操作符是“splat”,...。在这种情况下,您只需:

arr = Array(Float64, dims...)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接