小编new*_*ser的帖子

openFile - 权限被拒绝 - 读取和写入同一文件时

当我尝试写一些文件时,我有一个错误'openFile - permission denied':

saveFile content path = do
        writeFile path (show content)
Run Code Online (Sandbox Code Playgroud)

为什么?

io haskell file lazy-evaluation

2
推荐指数
1
解决办法
2403
查看次数

无法匹配预期的类型

我想做一些不同的事情,但它会太长,所以下面只是一个例子:

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)

haskell

2
推荐指数
1
解决办法
5935
查看次数

标签 统计

haskell ×2

file ×1

io ×1

lazy-evaluation ×1