我制作了非常耗时的算法,结果产生了一个短字符串。当我尝试打印它(通过 putStrLn)时,它一个字符一个字符地出现在屏幕上。我确实理解为什么会发生这种情况,并且我试图在实际打印之前强制评估字符串。
myPrint !str = putStrLn str
但这帮助很小。当我在调试中运行程序时,我注意到 !str 仅对第一个字符进行强制评估。
有谁知道这是为什么,以及如何处理?
我制作了非常耗时的算法,结果产生了一个短字符串。当我尝试打印它(通过 putStrLn)时,它一个字符一个字符地出现在屏幕上。我确实理解为什么会发生这种情况,并且我试图在实际打印之前强制评估字符串。
myPrint !str = putStrLn str
但这帮助很小。当我在调试中运行程序时,我注意到 !str 仅对第一个字符进行强制评估。
有谁知道这是为什么,以及如何处理?