Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell putStrLn没有';t打印到控制台_Haskell_Wxhaskell - Fatal编程技术网

Haskell putStrLn没有';t打印到控制台

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

我正在用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 := 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"

输出缓冲?是的,我用一个打印和刷新的函数来处理这个问题。但是有没有办法打开自动刷新?