私は宣言したい!整数のフェイコリアルを計算するために使用される演算子。
私はこのコードをファイルに持っています。
:- arithmetic_function(!/1).
!(X,Y):-sil(X,1,Y).
sil(0,X,X):-!.
sil(N,A,X):-A1 is A*N,N1 is N-1,sil(N1,A1,X).
そして、op(500,yf,!) を使用して演算子を宣言します。このソリューションが機能しない理由は、arithmatic_function が my を登録しなかったように見えることを意味します。関数。
5を試すと!私は得る
エラー: 未定義の手順: (!)/1 エラー: ただし、次の定義があります: エラー: (!)/0 エラー: (!)/2 false。