为什么使用变量创建指定大小的 StaticArray 会抛出错误?

3

在创建尺寸受变量控制的StaticArray时出现错误

我遇到了这个错误(参见图片),但我不知道该如何解决它?

代码:

t = 3
seps = StaticArray(Int32, t).new{
      2
}
seps.each{|i| p i}

错误 :

Syntax error in eval:2: expecting token ')', not 't'

当我像这样初始化StaticArray时它可以工作:

seps = StaticArray(Int32, 3).new{
      2
}
seps.each{|i| p i}

但我需要像代码的第一个示例那样初始化数组!

请将您的代码放在此处,而不是图片中。 - Roeland Van Heddegem
1个回答

4

静态数组具有固定的大小,在运行时无法修改。语法甚至不允许使用变量作为泛型参数,因为这没有意义。

如果需要在运行时具有可变大小,应改用Array。


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