Common lisp 我将如何替换“的用法?”;“循环”;在公共Lisp中运行而不引入新的依赖项?

Common lisp 我将如何替换“的用法?”;“循环”;在公共Lisp中运行而不引入新的依赖项?,common-lisp,Common Lisp,Common Lisp中的循环函数似乎与该语言其他部分的常规语法和风格背道而驰。在不引入更多依赖项的情况下,我可以使用哪些函数或技巧来避免使用循环?了解其他循环形式:do,do*,dotimes,dolist,map,mapcar,mapcon,maplistmapl,reduce, 不过,有些东西可以很方便地表示为循环形式,所以不要太虔诚。示例: (loop :repeat n :do (stuff)) (loop :for line := (read-line in nil)

Common Lisp中的循环函数似乎与该语言其他部分的常规语法和风格背道而驰。在不引入更多依赖项的情况下,我可以使用哪些函数或技巧来避免使用循环?

了解其他循环形式:
do
do*
dotimes
dolist
map
mapcar
mapcon
maplist
mapl
reduce,

不过,有些东西可以很方便地表示为
循环
形式,所以不要太虔诚。示例:

(loop :repeat n :do (stuff))

(loop :for line := (read-line in nil)
      :while line
      :do (stuffle line))

学习其他循环形式:
do
do*
dotimes
dolist
map
mapcar
mapcon
maplist
mapl
reduce

不过,有些东西可以很方便地表示为
循环
形式,所以不要太虔诚。示例:

(loop :repeat n :do (stuff))

(loop :for line := (read-line in nil)
      :while line
      :do (stuffle line))
功能,应该解决很多问题。如果您认为它是
循环
的一种风格,那么您可能希望尝试高阶函数不足以满足的地方

编辑 为什么要避免依赖关系?使用可用的代码比避免代码和做更多的工作要好。制作有关如何安装依赖项的安装说明。Iterate具有类似于lisp包的数据包管理器的功能。我只需要计算
(ql:quickload“iterate”)
来安装和加载它。(当然,您需要安装quicklisp才能使其工作)

功能,应该可以解决许多问题。如果您认为它是
循环
的一种风格,那么您可能希望尝试高阶函数不足以满足的地方

编辑 为什么要避免依赖关系?使用可用的代码比避免代码和做更多的工作要好。制作有关如何安装依赖项的安装说明。Iterate具有类似于lisp包的数据包管理器的功能。我只需要计算
(ql:quickload“iterate”)

来安装和加载它。(当然,您需要安装quicklisp才能使其工作)

请使用堆栈溢出解决实际编程问题。最好使用代码和问题描述。也可以随意使用循环。迭代循环并不反对常见的Lisp“风格”。这个问题非常不清楚,在当前状态下无法回答。是否需要使用循环,以及避免使用循环的策略根据代码的目的有很大不同。请使用堆栈溢出解决实际编程问题。最好使用代码和问题描述。也可以随意使用循环。迭代循环并不反对常见的Lisp“风格”。这个问题非常不清楚,在当前状态下无法回答。是否有必要使用循环,以及避免使用循环的策略根据代码的目的有很大的不同。