我试图通过在命令行上创建Notational Velocity样式的find-as-type-type文件搜索来处理
Haskell的基础知识.
我没有解决整个问题,而是尝试了一个非常基本的版本:
存在10行的文件,每行有3个字母的单词.在我输入的每个字母之后,我想根据我到目前为止的输入更新可能包含我正在键入的单词的行号列表的显示.
我没有解决整个问题,而是尝试了一个非常基本的版本:
存在10行的文件,每行有3个字母的单词.在我输入的每个字母之后,我想根据我到目前为止的输入更新可能包含我正在键入的单词的行号列表的显示.
有人可以演示一个Haskell程序吗?我认为我的问题在于强制对每个字符输入进行重新评估.提前一百万谢谢.
我不会尝试编写你要求的整个Haskell程序,但这里有一个非常简短的例子,显示你声称现在被卡住的那一刻:在每次按键后做一些事情.我们不会做任何令人兴奋的事情(只是碰撞一个数字并打印出来),但它会显示如何完成这个小任务,你也许可以从那里开始攻击.
您真正需要知道的唯一一件事就是您可以关闭输入上的行缓冲.
import System.IO loop n = do c <- getChar print n -- do whatever recalculation you need to do here,using -- n (which can be more complicated than an Integer,as -- it is here,of course) and c (which is a Char -- representing the key the user whacked) -- our recalculation is just to increase n by one loop (n+1) main = do hSetBuffering stdin NoBuffering -- do this once before anything else loop 0