2012-04-11 5 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

これはありませんdo何か;あなたがすでに考えているように、ここでペアを構築するために使用されています。

/isの右側にまたは別の場所で発生していないので、算術評価が行われる場合、Prologはちょうどファンクタとして/を有する2つの引数の条件を生成します。 /が使用されています。 -もジェネリックペアコンストラクタの一般的な選択です。

関連する問題