Represents the set variables of a Query if it was created from a string.
This class is also used to represent the results of a PlQuery after ToList()()()() or SolutionVariables was called.
Declaration Syntax
C# | Visual Basic | Visual C++ | F# |
public class PlQueryVariables
Public Class PlQueryVariables
public ref class PlQueryVariables
type PlQueryVariables = class end
Members
All Members | Constructors | Methods | Properties | ||
Icon | Member | Description |
---|---|---|
PlQueryVariables()()()() | Initializes a new instance of the PlQueryVariables class | |
Count |
Returns the number of elements in the sequence. (Defined by Enumerable of List<PlQueryVar>.)
| |
Equals(Object) | (Inherited from Object.) | |
Finalize()()()() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode()()()() | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetType()()()() | Gets the type of the current instance. (Inherited from Object.) | |
Item[([( String])]) |
Gets the PlTerm of the given variable name or throw an ArgumentException.
| |
MemberwiseClone()()()() | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ToString()()()() | Returns a string that represents the current object. (Inherited from Object.) |
Examples
This sample shows both Variables is used to unify the variables of two nested queries and the result
Copy | |
---|---|
public void TestCompoundNestedQueryWithVariables3() { string[] ref_values_inner = { "_gap_abc1", "_gap_abc2", "a_gap_bc1", "a_gap_bc2", "ab_gap_c1", "ab_gap_c2", "abc_gap_1", "abc_gap_2" }; int inner_idx = 0; using (PlFrame fr = new PlFrame()) { try { PlQuery outer_query = new PlQuery("append(A,B,C), atomic_list_concat(A, A1), atomic_list_concat(B, B1)"); outer_query.Variables["C"].Unify(new PlTerm("[a,b,c]")); PlQuery inner_query = new PlQuery("member(Count, [1,2]), atomic_list_concat([X, Y, Z, Count], ATOM)"); inner_query.Variables["X"].Unify(outer_query.Variables["A1"]); inner_query.Variables["Y"].Unify("_gap_"); inner_query.Variables["Z"].Unify(outer_query.Variables["B1"]); foreach (PlQueryVariables vars in outer_query.SolutionVariables) { var results = from n in inner_query.ToList() select new { L = n["ATOM"].ToString(), X = n["X"].ToString(), Y = n["Z"].ToString() }; foreach (var v in results) { Assert.AreEqual(ref_values_inner[inner_idx++], v.L); } } } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(ex.Message); Assert.IsFalse(true); } } } |
Inheritance Hierarchy
Object | |
PlQueryVariables |
See Also
Assembly: SwiPlCs (Module: SwiPlCs.dll) Version: 1.1.60601.0 (1.1.60601.0)