【发布时间】:2013-09-30 00:50:56
【问题描述】:
我收到以下代码的“程序:Prelude.(!!): index too large”错误:
select :: Field -> Field -> Table -> Table
select column_name column_value (header:t) = header:filterT t
where filterT = filter testR
field_idx = (elemIndices column_name header)!!0
testR r | r!!field_idx == column_value = True
testR r | otherwise = False
我认为错误与代码的以下部分有关:
field_idx = (elemIndices column_name header)!!0
testR r | r!!field_idx == column_value = True
有谁知道它为什么给我这个错误或我该如何解决它?
【问题讨论】:
-
[1..10]!!11 返回相同的错误。您似乎正在尝试访问超出 r 容量的索引。