Подтвердить что ты не робот

Как выполнить сопоставление шаблонов в общих Lisp

Я понятия не имею, существует ли функция сопоставления шаблонов для Common Lisp, тем не менее я должен выполнить свою собственную функцию. Я понятия не имею о Lisp. Может кто-нибудь дать хедз-ап по изучению Lisp и, самое главное, как сделать сопоставление шаблонов в Lisp. Мне придется пройти образец и факт и сказать, если они совпадают. Пример:

(heroes (hitpoints=hp) (mana=m)) 

должен соответствовать

(Morphling (hitpoints 435) (mana 260))

он также должен также выполнять числовые сравнения, если число больше или меньше. Как будто другая героиня маны меньше, чем Морфинг.

4b9b3361

Ответ 1

Простая функция сопоставления шаблонов объясняется в различных книгах Lisp.

и другие.

В приведенных выше книгах очень хорошо объясняется совместимость шаблонов в Lisp.

Существуют библиотеки, например cl-match, Optima и различные другие.

Ответ 3

Я не хочу сокращать любое обучение, которое нужно сделать для школы (если это контекст, в котором этот проект необходим), но вы могли бы изучить библиотеку cl-ppcre, http://weitz.de/cl-ppcre/, чтобы увидеть, как это делает опытный Lispер. Вы можете скачать источник и изучить его, чтобы понять. Я бы также упомянул книгу Норвига, http://norvig.com/paip.html, упомянутую выше. Вы можете так много узнать из этой книги.