Я экспериментирую с wxHaskell. Я не смог запустить приложение под ghci, поэтому мне нужно использовать приложение для его проверки. Я хотел протестировать программу с помощью отладки println. Тем не менее, кажется, что putStrLn не работает в графическом интерфейсе:putStrLn не печатает на консоль
{-# 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
Если я закомментировать начать helloGui, все печатается хорошо. Однако, если я верну его, ничего не будет напечатано, но отобразится окно. Что здесь не так?
буферизация вывода? Распечатывается ли оно, как только вы закрываете окно? – Thomas
Да, я работал с этой функцией, которая печатает и сбрасывает. Но есть ли способ включить авто-флеш? –