как написать такую ​​функцию elisp

Я пытаюсь написать функцию elisp следующим образом:

(setq lst '(("abc" . "c") ("cde" . "f")))
(foo "a" lst) ;=>"c"
(foo "b" lst) ;=>"c"
(foo "c" lst) ;=>"c"
(foo "d" lst) ;=>"f"

Я знаю, является ли первая строка То же, что и строка ключа, я могу использовать assoc .

(setq lst '(("a" . "c") ("d" . "f")))
(cdr (assoc "a" lst)) ;= "c"
(cdr (assoc "d" lst)) ;= "f"

Я мог бы включить эту функцию, написав отдельно lst , но я не думаю, что это лучший способ сделать это.

(setq lst '(("a" . "c") ("b" . "c") ("c" . "c")
            ("c" . "f") ("d" . "f") ("f" . "f")
            ))

Кто-нибудь может мне помочь, как написать функцию типа foo ?

0
10.11.2015, 21:02
0 ответов

Теги

Похожие вопросы