Nim 范围越界
Nim range out of bounds
所以我是 Nim 的新手。对不起,如果这听起来很笨。这是我的代码:
proc makeMap(width: int, size: int): seq[int]=
var theMap = newSeq[int](size)
var playerPos: int = 249750
var i: int = 0;
for i in 1..size:
if i<width:
theMap[i] = 2
elif i == playerPos:
theMap[i] = 1
else:
theMap[i] = 0
return theMap
var width = 500;
var height = 500;
var nsize: int = width * height
var myMap = makeMap(width, nsize)
echo "Map: ", myMap
这是我得到的错误:
nim.nim(18) nim
nim.nim(8) makeMap
system.nim(2833) sysFatal
Error: unhandled exception: index out of bounds [IndexError]
我该怎么做才能解决这个错误?抱歉,提前致谢。
您将 i
从 1 迭代到 size
(含),但序列 theMap
的索引从 0 到 size-1
。将第 5 行更改为 for i in 0 .. size-1
,或者您也可以使用 theMap.high
来查找允许的最高索引。
所以我是 Nim 的新手。对不起,如果这听起来很笨。这是我的代码:
proc makeMap(width: int, size: int): seq[int]=
var theMap = newSeq[int](size)
var playerPos: int = 249750
var i: int = 0;
for i in 1..size:
if i<width:
theMap[i] = 2
elif i == playerPos:
theMap[i] = 1
else:
theMap[i] = 0
return theMap
var width = 500;
var height = 500;
var nsize: int = width * height
var myMap = makeMap(width, nsize)
echo "Map: ", myMap
这是我得到的错误:
nim.nim(18) nim
nim.nim(8) makeMap
system.nim(2833) sysFatal
Error: unhandled exception: index out of bounds [IndexError]
我该怎么做才能解决这个错误?抱歉,提前致谢。
您将 i
从 1 迭代到 size
(含),但序列 theMap
的索引从 0 到 size-1
。将第 5 行更改为 for i in 0 .. size-1
,或者您也可以使用 theMap.high
来查找允许的最高索引。