我刚刚了解一下Haskell,看到它的方法interact可以实现从stdin读取输入、将函数应用于字符串并将结果写回stdout的常见模式。例如: interact (map toUpper) 将输入的所有内容转换为大写并输出。 F#/.Net中是否已有相应的功能?
interact
使用的惰性IO这一事实,那就很接近了。惰性IO并不总是一个好主意,但对于那个问题它还算可以。 - Carlinteract
能够按照其方式工作的关键部分 - 它可以提前终止,可以在接收输入时立即给出反馈(注意缓冲),等等。与纯计算不同,懒惰 IO 实际上以其他方式可见,而不仅仅是终止属性。(这就是为什么它经常被认为是一个坏主意的原因。) - Carlinteract
所做的事情,只不过惰性字符流是标准的“String”类型。 - Carl