запутался как использовать \ = при обновлении базы знаний - PullRequest
0 голосов
/ 20 октября 2018

вопросы по синтаксису Swi-пролога;Я не совсем понимаю, как использовать \ = при обновлении базы знаний.Я пишу предикат, в котором хочу распечатать все песни, которые Карен может исполнить, кроме heyJude.

canPerform(karen, Song) :-
   song(Song =\= heyJude). 

Это точно?

1 Ответ

0 голосов
/ 20 октября 2018

Пролог не функциональный язык программирования.Вы, вероятно, захотите:

canPerform(karen, Song) :- song(Song), Song \== heyJude.

Кроме того, руководства по стилю кодирования Prolog обычно предписывают CamelCase только для переменных.Поэтому я предлагаю вам переименовать ваши атомы в:

can_perform(karen, Song) :- song(Song), Song \== hey_jude.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...