2012-04-11 15 views
8

tôi có mã này:slash (/) làm gì trong prolog?

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]). 

Nhưng tôi không thể tìm ra những gì/làm. Có vẻ như nó ghép các biến, nhưng tôi không chắc chắn 100%. Nó chắc chắn không phải là nhà điều hành phân chia. Cảm ơn.

Trả lời

10

Nó không làm bất kỳ thứ gì; nó được sử dụng ở đây để xây dựng cặp, như bạn đã hình dung.

/ không xảy ra ở bên tay phải is hoặc ở nơi khác để đánh giá số học, Prolog chỉ tạo các thuật ngữ hai đối số với / làm hàm functor. / được sử dụng bởi vì nó có thể được viết infix; - cũng là một lựa chọn phổ biến cho một nhà xây dựng cặp chung.