2
Я изучаю Хаскелл. Мой код:Почему я получаю сообщение об отсутствии исключений?
main = do
args <- getArgs
if length args < 2 then
putStrLn invalidCallingSignature
else
dispatch fileName command commandArgs
where (fileName : command : commandArgs) = args -- But I get an Exception: src3.hs:22:48: Not in scope: `args'
Я смущен исключением Я получаю для последней строки кода. Почему я понял?
Случая заявление может быть симпатичнее здесь: 'случай аргом из {FileName: команда: commandArgs -> командного commandArgs отправки FileName; _ -> putStrLn invalidCallingSignature} ', но это действительно вопрос личных предпочтений. Операция case будет означать, что перехват списка для поиска длины не понадобился бы. – bheklilr
Добавьте 'do' после' else' или, наоборот, 'in' after' = args'. – chi