次のコードを発行します。SYSTEM ::%EXPAND-FORM:(SETQ NUM(SUBSTRING LINE 6))はラムダ式でなければなりません。どうすればこのような状況で "loop for"を使用できますか?
(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'は必要ありません。最も外側の括弧を削除するだけです。 '(loop ... do ...)'は暗黙のprognを持っています。 – asm