在 Dafny 中创建范围 n 数组的最佳方法?

Best way to create an array of range n in Dafny?

我在查找有关创建数组的可能性的文档时遇到了一些麻烦。我知道的唯一方法是像这样创建一个数组:var arr := new int[2][1,2]。考虑到我想要以动态方式 n 范围,这很难。

假设我想创建一个范围为 10 的数组,那么结果将是 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

有办法吗?

您可以通过提供如下初始化函数来实现:var arr := new int[n](i => i + 1);

如果数组中的所有值都是 >= 0,您可以考虑使用类型 nat 而不是 int

这里有一个类似的问题: