elisp中的 if 特殊表与其他语言中的 if 语句逻辑上并无二致,关键在于如何使用。

 (if (> 4 3)
(message "4 is greater than 3"))

同样也可以使用 if-else 结构

 (if (< 4 3)
(message "4 is lower than 3")
(message "4 is greater than 3"))

但是会有一个问题,如果我们需要在 if 部或者 else 部对多个表求值,那么我们需要使用 progn 特殊表。

 (if (> 4 3)
(progn (message "4 is greater than 3") (message "that's true")))

下面是一个有用的例子,用于开启或关闭ecb的功能。

 (setq ecb-switch-flag 'off)
(defun ecb-switch ()
"用于开启或者关闭ecb功能,使用了开关的形式"
(interactive)
(if (equal ecb-switch-flag 'off)
(progn (ecb-activate) (setq ecb-switch-flag 'on))
(progn (ecb-deactivate) (setq ecb-switch-flag 'off)))) ;; 将自定义函数绑定到全局快捷键 M-F2 上
(global-set-key (quote [27 f2]) 'ecb-switch)

上面按键绑定的方法来自http://docs.huihoo.com/homepage/shredderyin/wiki/KeyBinding.html

主要参考http://www.gnu.org/software/emacs/manual/html_node/elisp/Sequencing.html#Sequencing

最新文章

  1. Lucene教程
  2. C Primer Plus_第5章_运算符、表达式和语句_编程练习
  3. C语言PIC18 serial bootloader和C#语言bootloader PC端串口通信程序
  4. angular学习的一些小笔记(中)之directive
  5. Why GUID primary keys are a database’s worst nightmare
  6. 简单Qt网络通信
  7. sass最佳实践
  8. javascript的函数传参(没有引用传递只有值传递)
  9. InstallShield自定义图片资源
  10. shopnc 发票项目
  11. Python Cookbook(第3版)中文版:15.21 诊断分段错误
  12. 【51】java设计模式-工厂设计模式剖析
  13. 20165237 2017-2018-2 《Java程序设计》第3周学习总结
  14. image magick 批量转换文件
  15. python安装pandas模块
  16. Navicat for MySQL用ssh功能连接远程数据库
  17. phpmailer SMTP connect() failed的解决方法
  18. JS中String与Array的一些常用方法
  19. MyBean-关于plugMap共享对象
  20. ANT配合FIS执行前端打包任务

热门文章

  1. 玩转CPU之直线
  2. TTS-零基础入门-10分钟教你做一个语音功能
  3. 【bzoj1002】 [FJOI2007]轮状病毒DP
  4. 手把手教你把Vim改装成一个IDE编程环境(图文)【转】
  5. POJ 1663:Number Steps
  6. TeeChart绘图控件 - 之三 - 提高绘图的效率 .
  7. 【转载】深入理解Linux文件系统
  8. PCB 内层负片散热PAD Symbols尺寸更改方法
  9. 网络简要&lt;入门篇&gt;
  10. 24Pointgame-----24点游戏