在 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
。
这里有一个类似的问题:
我在查找有关创建数组的可能性的文档时遇到了一些麻烦。我知道的唯一方法是像这样创建一个数组: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
。
这里有一个类似的问题: