我希望编写函数并将结果放入字符串中。
我需要的函数是:
我做:
那为什么我不能:
我得到了这样的错误信息:
谢谢。
我需要的函数是:
read' :: FilePath -> String
我使用:
:t readFile
readFile :: FilePath -> IO String
我做:
read' :: IO ()
read' = do
str <- readFile "/home/shk/workspace/src/test.txt"
putStrLn str
我想问 str 是字符串还是其他类型?
我们知道:
:t putStrLn
putStrLn :: String -> IO ()
那为什么我不能:
read' :: String
read' = do
str <- readFile "/home/shk/workspace/lxmpp/src/test.txt"
str
我得到了这样的错误信息:
出现错误:
Couldn't match expected type `[t0]' with actual type `IO String'
In the return type of a call of `readFile'
In a stmt of a 'do' expression:
str <- readFile "/home/shk/workspace/lxmpp/src/test.txt"
In the expression:
do { str <- readFile "/home/shk/workspace/src/test.txt";
str }
谢谢。
unsafePerformIO
,否则无法@is7s! - alternative