ContextMenu[CurrentContext][Queries]
Run
run query on selected object
Calling Sequence
Parameters
Description
Examples of Queries[Run]
Queries[Run](nm, expr)
nm
-
string; name of query
expr
(optional) anything; object to which the query is applied, embedded in a list
The Queries[Run] command returns the result of applying the query named nm to the contents of the list expr. It may be called from within entry generators (see EntryGenerators) or from within other queries.
The parameter nm is the name of the query to be run. The parameter expr is the object (embedded in a list) to which the query is applied; if omitted, the selected object (also embedded in a list) is used. Note that the object must be embedded in a list to allow handling of expression sequences, as Queries[Run] only takes a single fixed argument for the object the query applies to.
with(ContextMenu[CurrentContext]):
Run the "D.E." query that determines whether an equation is a differential equation.
Queries[Run]("D.E.", [diff(y(x),x,x) = cos(2*x)/sin(2*x)*diff(y(x),x)-2*y(x)]);
true
Queries[Run]("D.E.", [x^2+5*y=19]);
false
Run a query that checks whether an expression sequence has booleans.
Queries[Run]("no bools", [1, 2, x, Matrix(<<1,2>>)] );
Queries[Run]("no bools", [1, 2, x, true, Matrix(<<1,2>>)] );
Add a query that determines whether the object has exactly 20 variables using the "NumVars" query.
Queries[Add]( "20 vars", proc() evalb( Queries[Run]( "NumVars", [args] ) = 20 ); end proc );
Add an entry generator that allows the user to select one of the variables that appears in the selected expression using the "Variables" query.
EntryGenerators[Add]( "Variables", proc() local i, vars; try vars := Queries[Run]("Variables"); [ seq( [ sprintf( "%a", op(i,vars) ), [ op(i,vars) ] ], i = 1 .. nops(vars) ) ]; catch: end try; end proc );
See Also
ContextMenu
Queries/Add
Queries/Get
Queries/List
Download Help Document