有没有办法部分应用getLine?

时间:2015-02-14 14:08:48

标签: haskell partial-application

有没有办法将getLine部分应用于writeFile或类似的功能(用于文件命名)?我想做这样的事情:

main = writeFile ??? . computeSomething =<< somethingElse

???应该是用户输入的一行来命名输出文件,但我不知道要为???插入什么。我尝试插入=<< getLine和类似的代码片段,但没有任何方法可以帮助我。

是否有可能以可读的方式使用do-notation来实现这一目标?

1 个答案:

答案 0 :(得分:2)

您可以使用flip来翻转参数的顺序:

getLine >>= flip writeFile computeSomething

如果您想要减少功能,工具pointfree会很有用。

相关问题