

Swi-cs-pl - A CSharp class library to connect .NET languages with SWI-Prolog
PlCall Method (module, predicate, args)
SwiPlCs interface ► SbsSW.SwiPlCs ► PlQuery ► PlCall(String, String, PlTermV)
As PlCall(String, PlTermV) but locating the predicate in the named module.

C# | Visual Basic | Visual C++ | F# |
public static bool PlCall( string module, string predicate, PlTermV args )
Public Shared Function PlCall ( module As String, predicate As String, args As PlTermV ) As Boolean
public: static bool PlCall( String^ module, String^ predicate, PlTermV args )
static member PlCall : module : string * predicate : string * args : PlTermV -> bool

Boolean
Return true or false as the result of NextSolution() or throw an exception.
Return true or false as the result of NextSolution() or throw an exception.

Create a PlQuery from the arguments, generates the first solution by NextSolution() and destroys the query.

This sample shows a query with a compound term as an argument.
![]() |
|
---|---|
public void PlCallQueryCompound_termv() { string[] mm = { "aa1", "aa2", "aa3" }; build_pred(); // create: test(comp(X,Y)) :- member(Z,[1,2,3]), atomic_list_concat([X,Z],Y). PlTerm var1 = PlTerm.PlVar(); PlTerm comp = PlTerm.PlCompound("comp", new PlTerm("aa"), var1); using (var q = new PlQuery("test", new PlTermV(comp))) { int i = 0; foreach (PlTermV s in q.Solutions) { Assert.AreEqual(mm[i++], var1.ToString()); Assert.AreEqual(comp.ToString(), s[0].ToString()); } } } |
Assembly: SwiPlCs (Module: SwiPlCs.dll) Version: 1.1.60605.0 (1.1.60605.0)