C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Lisp中有什么类似于C的return语句吗?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_874_4@ 我想在用Lisp编写的递归函数中实现基本条件,但由于Lisp中没有return语句,我无法做到这一点.

我的Lisp代码基于这个C代码

if (n==0) return;@H_607_10@ 
 

我如何在Lisp中实现它?

解决方法

Common Lisp具有特殊形式 RETURN-FROM(及其相对 RETURN)来做你想要的.

(defun accumulate-list (list)
  (when (null list)
    (return-from accumulate-list 0))
  (+ (first list)
     (accumulate-list (rest list))))@H_607_10@ 
 

如此,我更喜欢在编写递归函数时使用COND.

(defun accumulate-list (list)
   (cond
     ((null list)
      0)
     (t
      (+ (first list)
         (accumulate-list (rest list))))))@H_607_10@

大佬总结

以上是大佬教程为你收集整理的在Lisp中有什么类似于C的return语句吗?全部内容,希望文章能够帮你解决在Lisp中有什么类似于C的return语句吗?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。