Supposons que j'ai le programme ci-dessous:PREDICATE (nom, arité)
#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);
}
Quand je compile, il relie Prolog et C++ et lance ensuite l'invite de commande Prolog.
Tout ce que j'ai dans myFile.pl est
:- use_module(library(shlib)).
Quand je type de liste à l'invite Prolog, je reçois
Foreign: add/3
Ma question est de savoir comment puis-je utiliser le résultat d'un autre sous-programme , disons une classe, dans mon prédicat étranger ajouter? Disons que j'ai un cours quelque part dans mon programme qui calcule quelques x et y. De toute évidence, x et y seraient des membres privés ou protégés du fichier d'en-tête de cette classe. Comment utiliser x et y dans mon prédicat d'ajout? Par exemple, si je voulais retourner la somme de x et y et les premier et deuxième arguments d'ajouter?
Cheers,