以下のプログラムがあるとします。
#include files
PREDICATE( add, 3 )
{
return A3 = (long)A1 + (long)A2;
}
int main( int argc, char** argv )
{
PlEngine e( argv[0] );
PlCall( "consult('myFile.pl')" );
PL_halt( PL_toplevel() ? 0 : 1 );
}
コンパイルすると、Prolog と C++ がリンクされ、Prolog コマンド プロンプトが起動します。
myFile.pl にあるのは
:- use_module( library(shlib) ).
Prologプロンプトでlistingと入力すると、
Foreign: add/3
私の質問は、外部述語の追加で、クラスなどの他のサブルーチンの結果をどのように使用するのですか? プログラムのどこかに x と y を計算するクラスがあるとします。明らかに、x と y は、そのクラスのヘッダー ファイルのプライベートまたは保護されたメンバーになります。add 述語で x と y を使用するにはどうすればよいですか? たとえば、x と y の合計と、add の 1 番目と 2 番目の引数を返したい場合は?
乾杯、