【发布时间】:2013-05-28 19:19:43
【问题描述】:
我是 Haskell 的新手,遇到了 interact 函数的问题。这是我的示例程序:
main :: IO ()
main = interact inputLength
inputLength :: String -> String
inputLength input = show $ length input
它编译但运行时不打印输出 - 只打印传递给它的字符串并移动到下一行。当我像这样传递interact 另一个String -> String 函数时:
upperCase :: String -> String
upperCase input = map toUpper input
它运行正常并按预期以大写形式打印参数 - 那么第一个函数有什么问题?
【问题讨论】:
-
我认为
interact仍然是编写与管道一起工作的命令行程序的好方法。有了IO,我很想编写不可组合的用户专用程序。
标签: haskell