(let ((count 3))
(while (> count 0)
(message "%d" count)
(setq count (1- count)))
上面这个语句,我在ielm里交互运行也只产生最后一步结果nil,在scratch里按C-x C-e也只最后一步nil这个结果。按理说应该是3,2,1, nil四个结果。
(let ((count 3))
(while (> count 0)
(message "%d" count)
(setq count (1- count)))
上面这个语句,我在ielm里交互运行也只产生最后一步结果nil,在scratch里按C-x C-e也只最后一步nil这个结果。按理说应该是3,2,1, nil四个结果。
nil 是返回值, 3、2、1是程序运行过程中产生的副作用
message 输出的结果应该在 *Messages*
buffer里面看。输出的值 和 返回值 不是一个概念。
明白了,谢谢。刚接触lisp,很多不适应的地方。
谢谢,刚接触elisp
再请教一下,您的图上minibuffer里为何显示所有结果?我的minibuffer也只显示中间最后一步计算结果,但是在Message页面可以看到所有结果。
图上的不是 minibuffer
, 就是 Messages buffer
谢谢, 那我都明白了。非常感谢论坛和论坛中的成员的帮助