【发布时间】:2016-04-22 13:39:08
【问题描述】:
下面的代码有问题。它应该是一种字典,首先询问德语单词,而不是巴伐利亚单词并将两者保存在 .txt 文件中。然后 newLine 用于下一对。当您停止输入新单词时程序终止。更新: 新行“/n”不起作用。我该如何解决?
main :: IO ()
main = do
putStrLn "Deutsches Wort: "
deutsch <-getLine
if deutsch /= []
then do
putStrLn "Bayerisches Wort: "
bayerisch <- getLine
appendFile "woerterbuch.txt" (deutsch++ " "++ bayerisch++ " /n")
putStrLn (deutsch ++ " ist auf bayerisch " ++ bayerisch)
main
else return()
【问题讨论】:
-
服务毛里求斯。你的缩进是……混合的。您能否确保该代码与您系统上的代码实际匹配?此外,
writeFile总是 会截断文件。另外,bayerisch/n不应该工作。 -
更改了缩进。所以很明显我误解了 writeFile 函数。如何更改我的程序以将一对 2 单词保存到 .txt 文件并在该换行符之后?
-
你的
isNotEmpty函数可以简化。你基本上是在做if condition then True else False。 -
你试过
"\n"而不是"/n"吗?
标签: haskell dictionary io functional-programming ghc