我不知道 Common Lisp 是否存在模式匹配函数,但我必须制作自己的函数。我对Lisp一无所知。有人可以对学习 Lisp 以及最重要的是如何在 Lisp 中进行模式匹配进行提示吗?我必须传递一个模式和一个事实,并判断它们是否匹配。
一个例子是
(heroes (hitpoints=hp) (mana=m))
应该匹配
(Morphling (hitpoints 435) (mana 260))
它还应该能够对数字是否大于或小于进行数字比较。就像另一个英雄的法力值低于变体人一样。
各种 Lisp 书籍中都解释了简单的模式匹配功能。
和别的。
上面的书很好地解释了 Lisp 中模式匹配的实现。
图书馆存在,例如trivia https://github.com/guicho271828/trivia/, cl-match https://common-lisp.net/project/cl-match/doc/clmatch.htm, and 其他各种 http://www.cliki.net/pattern%20matching.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)