我试图将程序窗口设置在屏幕中心。我有功能getScreenSize :: IO(Int,Int),但我不知道如何访问这些Int。
我试图像记录一样访问它。
getOffset (IO x) = x
main = putStrLn(show (getOffset getScreenSize))
我希望它根据以下内容打印出Ints元组: https://hackage.haskell.org/package/gloss-1.13.0.1/docs/Graphics-Gloss-Interface-Environment.html
9:12: error: Not in scope: data constructor ‘IO’
|
9 | getOffset (IO x) = x
| ^^
编辑:也许这会使它更清晰。目前,我正在这样设置窗口配置:
width = 800
height = 800
offsetLeft = 1920`div`2 - width`div`2
offsetRight = 1080`div`2 - height`div`2
这很好,但是我想要一个变量,其中“ 1920”和“ 1080”是
getScreenSize >>= print
这将产生简单的输出(1920,1080)。
我想要的是这样的:
getScreenSize >>= tup
offsetLeft = (fst tup)`div`2 - width`div`2
offSetRight = (snd tup)`div`2 - height`div`2