Create a query where name defines the name of the predicate and av the argument vector.
The arity is deduced from av. The predicate is located in the Prolog module user.
Declaration Syntax
C# | Visual Basic | Visual C++ | F# |
public PlQuery( string name, PlTermV termV )
Public Sub New ( name As String, termV As PlTermV )
public: PlQuery( String^ name, PlTermV termV )
new : name : string * termV : PlTermV -> PlQuery
Examples
This sample shows a query with a compound term as an argument.
Copy | |
---|---|
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 (PlQuery q = new PlQuery("test", new PlTermV(comp))) { int i = 0; foreach (PlTermV s in q.Solutions) { Assert.AreEqual(mm[i++].ToString(), var1.ToString()); Assert.AreEqual(comp.ToString(), s[0].ToString()); } } } |
Assembly: SwiPlCs (Module: SwiPlCs.dll) Version: 1.1.60601.0 (1.1.60601.0)