gpt4 book ai didi

scheme - 将方案翻译为 CL

转载 作者:行者123 更新时间:2023-12-02 06:34:43 26 4
gpt4 key购买 nike

我知道一点Scheme(很久以前读过SICP),写了这个程序:

(define (prl k m)
(define (print-line n)
(cond ((> n 0) (display n)
(print-line (- n 1)))
(else (newline))))
(print-line k)
(cond ((> m 1) (prl (+ k 1) (- m 1)))))

示例 - http://ideone.com/LuG45W

但我需要在 CL 中使用它,而不使用任何宏。你能帮我实现吗?谢谢。

最佳答案

Common Lisp 方案。

    顶层的
  • SCHEME:DEFINECL:DEFUN
  • SCHEME:DEFINE 作为本地定义是 CL:FLETCL:LABELS
  • CL 默认情况下并且按标准不是尾部调用优化。这意味着最好使用 a) TCO 支持实现并指导编译器执行此操作,或者 b) 在必要/可能的情况下使用循环。另请注意,大多数解释器不会在 Common Lisp 中执行 TCO,即使编译器可能支持它。

所以代码将是:

(defun prl (k m)
(flet ((print-line (n)
(loop for i downfrom n downto 1 do (write i))
(terpri)))
(loop for i from k
repeat m
do (print-line i))))

关于scheme - 将方案翻译为 CL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16761143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com