に私は最近、マーキュリーでは、このコード例に出くわした:「:=」と「=>」マーキュリー
append(X,Y,Z) :-
X == [],
Z := Y.
append(X,Y,Z) :-
X => [H | T],
append(T,Y,NT),
Z <= [H | NT].
はPrologのプログラマである、私は疑問に思う:ノーマル統一=
との違いは何:=
または=>
ここで使用していますか?
Mercury referenceでは、これらの演算子は異なる優先順位を取得しますが、その違いについては説明しません。
レッツインデントを使用して再書き込みコード: 'アペンド(X、Y、Z) - X == []、 Z:= Y. アペンド(X、Y、Z) - X => [H | T]、 append(T、Y、NT)、 Z <= [H | NT]。 ' –
私は レッツ・インデントを使用してコードを再書き込み、もう一度試してみます: アペンド(X、Y、Z): - X == []、 Z:= Y. append(X、Y、Z): - X => [H | T]、 append(T、Y、NT)、 Z <= [H | NT]。 すべてのコードを4つのスペースでインデントする必要があるようです。 –