如何删除下标超出范围的错误

时间:2012-11-13 10:50:46

标签: sml smlnj

很明显。我有以下错误。 我该如何删除它。我需要处理所有列表。

uncaught exception Subscript [subscript out of bounds]
 raised at: Basis/Implementation/list.sml:...

这是在SML / NJ,我正在使用列表。

谢谢。

1 个答案:

答案 0 :(得分:4)

错误意味着您正在尝试访问索引不在列表中的元素。

例如:

- List.nth([0,1,2], 7);

uncaught exception Subscript [subscript out of bounds]
  raised at: Basis/Implementation/list.sml:47.35-47.44

您可以通过不尝试访问不存在的元素来解决此问题。处理List.nthList.takeList.drop,...等函数时,您应该小心谨慎,因为它们是部分函数,​​仅适用于某些输入。

相关问题