gpt4 book ai didi

lisp - 替换 lisp 中的函数

转载 作者:太空宇宙 更新时间:2023-11-03 19:01:21 25 4
gpt4 key购买 nike

我想替换给定列表中的单词但是当替换单词由列表给出时很难

例如 (myreplace '((dog cat)(cute lovely)) '(我的狗很可爱)) -> (我的猫很可爱)

帮帮我!

最佳答案

这是给你的递归版本:

(defun myreplace (subst-alist replace-in)
(when replace-in
(let ((found (assoc (car replace-in) subst-alist :test #'eq)))
(cons
(if found
(cadr found)
(car replace-in))
(myreplace subst-alist (cdr replace-in))))))

如果您更喜欢这种方法,这里有一个迭代版本:

(defun myreplace (subst-alist replace-in)
(let (result)
(dolist (word replace-in (reverse result))
(let ((found (assoc word subst-alist :test #'eq)))
(push (if found (cadr found) word)
result)))))

关于lisp - 替换 lisp 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5478648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com