218_emacs lisp unless条件分支

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

    https://github.com/GreyZhang/g_lisp

    继续分析spacemacs配置,代码如下:

    查看内置的帮助如下:

    看起来,这个就是与when相反的一个操作。这个功能让我想起来之前学习的Perl,那里面也有一个unless的操作。从语言的表达上来看,这个更加让语言贴近于自然语言。但是从编程的必须性上看,这个似乎也不算是一个必须的。

    看一下elisp的文档:

    从描述看,这个功能算是if的一个变体。

    接下来,做几个简单的测试。

    其实,这种干巴巴的代码只能够是简单测试一下这个功能。从功能设计上来说,其实还是配合其他的语言表述才能够更加清楚这种编程元素增加带来的更高的可维护性。其实,刚刚读到的配置代码就是一个很好的例子。

    按照这个表述方式,其实这个代码就是可以自然理解了:除非目录已经存在,否则创建相应的目录。

    正好,到了这儿。增补以及更正一下之前学习中的一点错误,也就是目录创建时候的parent参数。其实,这个指的是父目录,只是一开始没有看明白。如果是创建多级目录的时候,可能会用到。测试如下:

    由于父目录不存在,创建失败。如何可以创建成功呢?增加parent的参数设置:

    创建成功:

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

    https://github.com/GreyZhang/g_lisp

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

猜你喜欢

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