265_common lisp flet与labels

完整的emacs and lisp的学习集合整理如下:

https://github.com/GreyZhang/g_lisp

    继续学习lisp,这次看两个common lisp中的函数:flet和lables。

    先看如下代码:

    从上面的结果看,输出了结果。这个结果是如何输出的呢?flet函数后面的参数列表跟的其实是两个缩写的函数定义。这样,在后面的函数体中,可以引用这两个函数。这样,就计算出了如上结果。

    接下来,对上面的代码做一下修改:

    得到提示,squared函数没有定义。其实,这里很容易就可以联想到我们之前总结的let以及let*之间的差异了。那么,在函数使用的时候如何解决这个问题呢?答案就是使用lables。

    从上面的结果看,得出了正确的结果。

完整的emacs and lisp的学习集合整理如下:

https://github.com/GreyZhang/g_lisp

发布了891 篇原创文章 · 获赞 170 · 访问量 176万+

猜你喜欢

转载自blog.csdn.net/grey_csdn/article/details/104442126