![Copy image Copy image](icons/copycode.gif)
![CopyHover image CopyHover image](copycodeHighlight.gif)
Swi-cs-pl - A CSharp class library to connect .NET languages with SWI-Prolog
PlQuery Constructor (name, termV)
SwiPlCs interface ► SbsSW.SwiPlCs ► PlQuery ► PlQuery(String, PlTermV)
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.
![](collapse_all.gif)
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
![](collapse_all.gif)
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)