有没有办法部分应用getLine?
Is there a way to partially apply getLine?
有没有办法将 getLine
部分应用到 writeFile
或类似的功能(用于文件命名目的)?我想做这样的事情:
main = writeFile ??? . computeSomething =<< somethingElse
???
应该是用户输入的一行来命名输出文件,但我不知道要为 ???
插入什么。我尝试插入 =<< getLine
和类似的片段,但对我没有任何效果。
是否可以在不以可读方式使用 do-notation 的情况下实现这一点?
您可以使用 flip
来翻转参数的顺序:
getLine >>= flip writeFile computeSomething
如果您想减少 eta 函数,工具 pointfree
很有用。
有没有办法将 getLine
部分应用到 writeFile
或类似的功能(用于文件命名目的)?我想做这样的事情:
main = writeFile ??? . computeSomething =<< somethingElse
???
应该是用户输入的一行来命名输出文件,但我不知道要为 ???
插入什么。我尝试插入 =<< getLine
和类似的片段,但对我没有任何效果。
是否可以在不以可读方式使用 do-notation 的情况下实现这一点?
您可以使用 flip
来翻转参数的顺序:
getLine >>= flip writeFile computeSomething
如果您想减少 eta 函数,工具 pointfree
很有用。