我很惊讶我在任何地方都找不到答案。
我正在写一个 roguelike,我正在使用来自 hackage 的 ncurses 库,它是 ncurses 库的一个非常好的包装器。现在 ncurses 有这个怪癖,如果你尝试写右下角的字符,它会这样做,然后它会尝试将光标移动到下一个字符,然后它会失败,因为无处可移动。它返回一个您只能忽略的错误值。
我的问题是haskell ncurses库编写者尽职尽责地检查所有调用中的任何错误,当有错误时,他调用:错误“drawText:etc etc.”。
在其他语言中,如 c 或 python,为了解决这个问题,你不得不忽略错误或捕获并忽略异常,但对于我来说,我无法弄清楚如何在 haskell 中做到这一点。误差函数不可恢复吗?
如果必须,我将在本地修改库以不检查该函数的错误,但我讨厌这样做。我也愿意接受任何允许我在不移动光标的情况下绘制最后一个字符的解决方法,但我认为这是不可能的。