下面的代碼會引發:SYSTEM ::%EXPAND-FORM:(SETQ NUM(SUBSTRING LINE 6))應該是一個lambda表達式。如何在這種情況下使用「循環」?
(defun good-red()
(let ((tab (make-hash-table)))
(dotimes (i 50) (setf (gethash (+ i 1) tab) 0))
(with-open-file (stream "ssqHitNum.txt")
(loop for line = (read-line stream nil)
until (null line)
do (
(setq num (substring line 6))
(print line)
)))))
如果我改變「do」如下,它的工作原理。不過,我需要在這裏做很多事情。
...
do (print line)
...
此致!
你實際上並不需要'progn',你只需要移除最外面的一組parens。 '(循環...做...)'做了一個隱含的預後。 – asm