我的原始代碼如下所示,工作正常。我想添加'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