203_emacs lisp if条件分支

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

         https://github.com/GreyZhang/g_lisp

         接触的第一门编程语言是C语言,后面学习的编程语言也基本上都是类C的语言。慢慢养成了一个习惯:学习一门编程语言的时候,先去找一些类似C语言的图灵表达解构。Lisp死磕了好多天了,今天总算是接触到这个语言元素了。我觉得这种上来直接看代码的方式还不错,至少进展的比直接阅读《实用common lisp编程》那本书好一些。在学习的过程中,找到的可以理解的元素还是多一点的。或许,等我学习到一定程度之后,那本书可以重新拿起来翻一下。

         今天的这个语言元素很简单,if。

         通过查帮助,其实,在emacs内置的帮助里面,if本身也算是一种函数。这个跟C语言还是很不一样的。关于if的相关帮助描述:

         这种基础的语言元素基本上都是使用C语言来实现的,看得出这个功能使用的频繁度已经影响到了系统的效率。从帮助描述看,这个条件解构跟C的使用if还是很像的。其中,else也是一个可选的元素块,同时,else也可以有多个。

         测试了一下,emacs lisp中也有format函数,这样的话,很多测试就更加简单了。接下来,做几个简单的测试。

执行结果:

执行结果:

执行结果:

执行结果:

         可以做一个多层的判断测试:

         执行结果:

         这样的话,看起来使用方式基本跟C是一样的。不同的是,如果没有被执行到的语句块,这个会返回一个nil。这个是在测试2中测试过的。

         阶段性小结:学到现在,多少感觉到自己在逐渐掌握lisp的语言元素了,至于语法解构,这部分我觉得不算是语言的重点,况且lisp这部分其实也算是简单。不过,学习到现在为止,关于lisp的高级以及emacs lisp如果在emacs的功能配置中发挥强大作用,现在还是没有从根本上感觉到。自然,没有什么东西会简单到瞬间能够掌握或者体验到,慢慢享受这个过程,等待那个时刻的到来吧!

其他的lisp相关的学习笔记汇总,可以参考如下链接:

         https://github.com/GreyZhang/g_lisp

 

发布了812 篇原创文章 · 获赞 163 · 访问量 172万+

猜你喜欢

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