当我尝试写一些文件时,我有一个错误'openFile - permission denied':
saveFile content path = do
writeFile path (show content)
Run Code Online (Sandbox Code Playgroud)
为什么?
我想做一些不同的事情,但它会太长,所以下面只是一个例子:
test x y = if x == "5" then x
else do putStrLn "bad value"; y
Run Code Online (Sandbox Code Playgroud)
所以,如果x == 5它应该返回x,否则它应该打印'bad value'并返回y - 我怎样才能在haskell中执行此操作?
编辑:
为什么这段代码会返回错误:"无法将预期类型的bool与实际类型IO bool匹配"?
canTest :: String -> IO Bool
canTest x = if x == "5" then return True
else do putStrLn "bad value"; return False
test x y = if canTest x then x
else y
Run Code Online (Sandbox Code Playgroud)