在循环中打印到屏幕

时间:2013-11-27 09:29:50

标签: lisp common-lisp output-buffering land-of-lisp

我有这个:

(loop for i below x
            do (update-world)
            if (zerop (mod i 1000))
            do (princ #\.))

除了所有princ次调用最后到达时,它才有效。这里的想法是它们是一个进度指示器,每1000次迭代就会在屏幕上打印一段时间。这是来自Land of Lisp的书,我想知道是否期望在循环中打印不是一种便携式的期望?

1 个答案:

答案 0 :(得分:4)

(finish-output)之后添加princ

http://clhs.lisp.se/Body/f_finish.htm