Arrays Nim范围超出范围
所以我是尼姆的新手。如果这听起来不对劲,很抱歉。这是我的密码:Arrays Nim范围超出范围,arrays,nim-lang,Arrays,Nim Lang,所以我是尼姆的新手。如果这听起来不对劲,很抱歉。这是我的密码: 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
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
我能做些什么来解决这个错误?很抱歉,请提前感谢。您将
i
从1迭代到size
(包括在内),但是seqtheMap
的索引从0到size-1
。将0中i的第5行更改为。。size-1
,或者您也可以使用theMap.high
查找允许的最高索引。您将i
从1迭代到size
(包括),但seqtheMap
的索引范围是从0到size-1
。将0中i的第5行更改为。。size-1
,或者您也可以使用map.high查找允许的最高索引。此外,我更喜欢为0中的I键入。
而不是为0中的I键入。。size-1
此外,我更喜欢为0中的I键入。
而不是为0中的I键入。。1号尺码
nim.nim(18) nim
nim.nim(8) makeMap
system.nim(2833) sysFatal
Error: unhandled exception: index out of bounds [IndexError]