如何将一系列添加到列表调用重构为 let



我基本上希望重构以下内容:

(eval-after-load 'find-file-in-project
  '(progn
     (add-to-list 'ffip-patterns "*.clj")
     (add-to-list 'ffip-patterns "*.erb")
     (add-to-list 'ffip-patterns "*.haml")
     (add-to-list 'ffip-patterns "Gemfile*")
     (add-to-list 'ffip-patterns "*.css")
     (add-to-list 'ffip-patterns "*.scss")
     (add-to-list 'ffip-patterns "*.sass")
     (add-to-list 'ffip-patterns "*.rake")
     (add-to-list 'ffip-patterns "*.thor")
     (add-to-list 'ffip-patterns "Capfile")
     (add-to-list 'ffip-patterns "*.gemspec")
     (add-to-list 'ffip-patterns "*.yml")
     ))

进入一些好的东西,我定义文件扩展名列表一次,然后将它们复制到ffip-patterns变量。

如果您

不担心列表中的重复项(add-to-list检查),则可以添加带有append元素:

(eval-after-load 'find-file-in-project
  '(setq ffip-patterns (append (list "*.clj" "*.erb") ffip-patterns)))

否则,您可以使用 dolist 遍历扩展:

(eval-after-load 'find-file-in-project
  '(dolist (pattern (list "*.clj" "*.erb"))
     (add-to-list 'ffip-patterns pattern)))

最新更新