Клипы: утверждение фактов произвольной длины - PullRequest
0 голосов
/ 09 декабря 2010

Примером факта в моей системе может быть (trip 4 1330 650 boston chicago ... los_angeles) с любым количеством городов в конце. Я знаю, что могу сопоставить произвольные длины, используя подстановочный знак из нескольких полей ($?), но как я могу утверждать факт с произвольной длиной? То, что я хочу сделать, это сопоставить один из фактов в приведенной выше форме, а затем добавить другой город в конец. Возможно ли это сделать?

1 Ответ

0 голосов
/ 10 декабря 2010

Да, это возможно.Вы можете сопоставить 0 или более частей факта, используя $?.Чтобы использовать его в RHS, вы можете присвоить его переменной с помощью $?variable_name.

. Чтобы добавить другой город в конец, вы можете сопоставить факт поездки с (trip ?arg1 ?arg2 ?arg3 $?cities) и установить новый факт поездки с помощьюгород на конце: (trip ?arg1 ?arg2 ?arg3 $?cities new_city).

...