2010-12-09 2 views
0

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

ответ

0

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

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

Смежные вопросы