首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs中多个函数的比较

Emacs中多个函数的比较
EN

Stack Overflow用户
提问于 2013-07-25 22:00:43
回答 2查看 53关注 0票数 2

我想要改变一个小模式行为取决于一个主要模式。现在我的写作方式如下。

代码语言:javascript
复制
(defun foo (input)
  (if (or
    (eql major-mode 'foo-mode)
    (eql major-mode 'foo1-mode)
    (eql major-mode 'foo2-mode))
     (myfunc-one input)
   (myfunc-two input)))

我工作,但我不想写类似的条件声明3次。我怎样才能写得更有效率?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-25 22:04:02

代码语言:javascript
复制
(defun foo (input)
  (if (memql major-mode '(foo-mode foo1-mode foo2-mode))
      (myfunc-one input)
      (myfunc-two input)))
票数 5
EN

Stack Overflow用户

发布于 2013-07-26 13:43:47

您通常不想直接测试major-mode。相反,您希望使用(derived-mode-p 'foo1-mode 'foo2-mode 'foo3-mode)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17869551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档