【发布时间】:2018-06-19 15:33:37
【问题描述】:
我使用循环函数在 LISP 中写下了这个迭代代码:
(defun loadfile (filename)
(with-open-file (stream filename)
(loop for line = (read-line stream nil 'eof)
until (eq line 'eof)
collect line)))
)
)
有没有办法在没有loop的情况下以递归方式重写它?
【问题讨论】:
-
是的,但它看起来像一个需要递归方法的任务吗?
-
是的,我确实使用了循环,但任务(不幸的是)清楚地说 “不要使用 LOOP、DO、DOLIST、DOTIMES”
-
我明白了;请注意,
tagbody显然没有任何限制;-) -
啊好吧,这是作业吧?要在现实生活中分两行执行此操作,我建议:stackoverflow.com/questions/3813895/…
标签: recursion iteration lisp common-lisp