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的学习集合整理如下: