Haskell putStrLn没有';t打印到控制台
我正在用wxHaskell做实验。我无法在ghci下运行该应用程序,因此我必须使用该应用程序对其进行测试。我想用println调试来测试这个程序。但是,putStrLn似乎在GUI中不起作用:Haskell putStrLn没有';t打印到控制台,haskell,wxhaskell,Haskell,Wxhaskell,我正在用wxHaskell做实验。我无法在ghci下运行该应用程序,因此我必须使用该应用程序对其进行测试。我想用println调试来测试这个程序。但是,putStrLn似乎在GUI中不起作用: {-# LANGUAGE Haskell2010 #-} module Main where import Graphics.UI.WX drawUI dc view = do circle dc (point 10 10) 5 [penKind := PenSolid, color := r
{-# LANGUAGE Haskell2010 #-}
module Main where
import Graphics.UI.WX
drawUI dc view = do
circle dc (point 10 10) 5 [penKind := PenSolid, color := red]
putStrLn "painted"
helloGui :: IO ()
helloGui = do
f <- frame [
text := "Example",
resizeable := False,
bgcolor := white,
layout := space 400 300,
on paint := drawUI]
return ()
main :: IO ()
main = do
putStrLn "Started"
start helloGui
{-#语言Haskell 2010}
模块主要在哪里
导入Graphics.UI.WX
drawUI dc view=do
圆dc(点10)5[penKind:=PenSolid,颜色:=red]
putStrLn“涂漆”
helloGui::IO()
helloGui=do
f这可能是输出缓冲;直到程序退出,才写入输出
显式刷新:
putStrLn "Started"
hFlush stdout
或打开线路缓冲:
hSetBuffering stdout LineBuffering -- or even NoBuffering
putStrLn "Started"
输出缓冲?是的,我用一个打印和刷新的函数来处理这个问题。但是有没有办法打开自动刷新?