opFile :: String -> IO[String]
opFile file = do str <- readFile file; return(words str);
Из IO [String] в [String]
Код:
Читает из файла и возвращает IO String.
haskell Код:
Код:
parseStr :: [String] -> [String]
parseStr [] = []
parseStr (x:xs) = if (prov x) then x:parseStr xs else parseStr xs
parseStr [] = []
parseStr (x:xs) = if (prov x) then x:parseStr xs else parseStr xs
А parseStri разбирает [String] и возвращает тоже [String].
Когда я передаю parseStr то что возвращает opFile компилятор ругается:
Couldn't match expected type `[String]'
against inferred type `IO [String]'
Помогите решить эту проблему
Цитата: Zambidis
haskell Код:
Читает из файла и возвращает IO String.
haskell Код:
А parseStri разбирает [String] и возвращает тоже [String].
Когда я передаю parseStr то что возвращает opFile компилятор ругается:
Couldn't match expected type `[String]'
against inferred type `IO [String]'
Помогите решить эту проблему
Код:
opFile :: String -> IO[String]
opFile file = do str <- readFile file; return(words str);
opFile file = do str <- readFile file; return(words str);
Читает из файла и возвращает IO String.
haskell Код:
Код:
parseStr :: [String] -> [String]
parseStr [] = []
parseStr (x:xs) = if (prov x) then x:parseStr xs else parseStr xs
parseStr [] = []
parseStr (x:xs) = if (prov x) then x:parseStr xs else parseStr xs
А parseStri разбирает [String] и возвращает тоже [String].
Когда я передаю parseStr то что возвращает opFile компилятор ругается:
Couldn't match expected type `[String]'
against inferred type `IO [String]'
Помогите решить эту проблему
Код:
readAndParse file
= do
input <- opFile file
let parsed = parseStr input
...
= do
input <- opFile file
let parsed = parseStr input
...