【发布时间】:2017-09-13 14:46:49
【问题描述】:
我一直致力于使用 I/O 在 Haskell 中写入文件,但它只是坐在那里运行,没有最终产品。
main :: IO ()
main = do
hawkID <- getLine
let text = "module Operations where\nimport " ++ hawkID ++ "\n\nsample :: (" ++ hawkID ++ "a)\nsample = B\n\
\size :: (" ++ hawkID ++ " a) -> Int\nsize x = 0\n\n\
\depth :: (" ++ hawkID ++ " a) -> Int\ndepth x = 0\n\n\
\dropN :: (" ++ hawkID ++ " a) -> (" ++hawkID ++ " a)\ndropN x = x\n\n\
\countB :: (" ++ hawkID ++ " a) -> Int\ncountB x = 0\n\
\ltoB :: (" ++ hawkID ++ " a) -> (" ++ hawkID ++ " b)\nltoB x = B\n\n\
\toString :: (" ++ hawkID ++ " a) -> String\ntoString x = \"\"\n\n\
\mapHawkid :: (a -> b) -> (" ++ hawkID++ " a) -> (" ++ hawkID ++ " b)\n\n\
\substB :: (" ++ hawkID ++ " a) -> (" ++ hawkID ++" a) -> (" ++ hawkID ++ " a)\n\
\substB x y = B"
let file = writeFile "Desktop/hawkID.hs" text
return ()
【问题讨论】:
-
它只是在等你在标准输入中输入一个
hawkID...输入一个id然后回车。