我正在尝试创建一个数组,其中每个元素都是一个空数组。 我试过这个:
import datetime
try:
while True:
if(datetime.datetime.now().time() == (6, 20, 0, 0)):
print("It's 6:20!")
except :
pass
看了How to create and use a multi-dimensional array in Scala?之后,我也尝试了这个:
var result = Array.fill[Array[Int]](Array.empty[Int])
但是,这些都不起作用。
如何创建空数组数组?
答案 0 :(得分:7)
你在这里误解了Array.ofDim
。在给定尺寸和要保持的值类型的情况下,它会创建一个多维数组。
要创建一个包含100个数组的数组,每个数组都为空(0个元素)并保留Int
个,您只需将这些维度指定为ofDim
函数的参数。
val result = Array.ofDim[Int](100, 0)
答案 1 :(得分:4)
Array.fill
需要两个参数:第一个是长度,第二个是填充数组的值,更准确地说,第二个参数是一个元素计算,将被多次调用以获取数组元素(谢谢到@ alexey-romanov指出这一点)。但是,在您的情况下,它始终具有相同的值,即空数组。
Array.fill[Array[Int]](length)(Array.empty)
答案 2 :(得分:1)
还要考虑Array.tabulate
如下,
val result = Array.tabulate(100)(_ => Array[Int]())
其中lambda函数应用100
次,并为每个函数提供一个空数组。