将函数return作为参数传递给emacs中的regexp-opt

时间:2014-04-12 18:15:36

标签: emacs elisp

我想从主列表中生成正则表达式。示例列表:

(setq name-and-keyword-list
      (list
      '("pFoo" ("foo" "bar" "baz"))
      '("pBar" ("apples" "pears" "orange"))))

(regexp-opt '("foo" "bar" "baz"))有效且(car (cdr name-and-keyword-list))

返回(("foo" "bar" "baz")),这几乎与我手动传递给regexp-opt的参数相同。

尝试将所有内容组合成一个调用失败:

(regexp-opt (cdr(car name-and-keyword-list)))

返回Wrong type argument: stringp, ("foo" "bar" "baz")。我可以使用不同的方式访问列表元素,以便它们是regexp-opt的有效参数吗?

1 个答案:

答案 0 :(得分:1)

这是一个修复:

(setq name-and-keyword-list
      `(("pFoo" ("foo" "bar" "baz"))
        ("pBar" ("apples" "pears" "orange"))))

(regexp-opt (cadar name-and-keyword-list))