2012-04-11 2 views
8

У меня есть этот код:Что делает слэш (/) в прологе?

set_value(X,Value,[X/_|T],[X/Value|T]). 
set_value(X,Value,[Y/V|T],[Y/V|NewT):- X\=Y,set_value(X,Value,T,NewT). 
set_value(X,Value,[],[X/Value]). 

Но я не могу понять, что же/делать. Похоже, что это пары переменных, но я не уверен на 100%. Это определенно не оператор деления. Благодарю.

ответ

10

не не делает ничего; он используется здесь для построения пар, как вы уже поняли.

Поскольку / не происходит на правой стороне is или в другом месте, где выполняется арифметическая оценка, Пролог просто производит термины два аргумента с / как функтор. / используется потому, что он может быть записан infix; - также является популярным выбором для родового конструктора пары.

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