我的原始代码如下所示,工作正常。我想添加'ind'的范围检查,并在修改后的版本中添加了if语句。当我运行它时,我得到一个“有条件的类型错误”,并且由于输出定义[[String]]而不是IO(),我认为它是它的?Haskell中的“条件类型错误”
是否有其他方法检查ind
中保存的值的范围并生成“错误”/“超出范围”等输出?
原始代码
retrieve :: [Int] -> [[String]] -> [[String]]
retrieve [] dat = [[]]
retrieve ind dat = [exC ind d | d <- dat]
修改的码
retrieve :: [Int] -> [[String]] -> [[String]]
retrieve [] dat = [[]]
retrieve ind dat = if ind>3
then putStrLn "not found"
else [exC ind d | d <- dat]
感谢,
谢谢大家!很好的帮助! – pier 2009-05-23 18:07:00