General Quaestor syntax
Value between quotes (") or not:
- When Quaestor expects a string, it should be between quotes;
- When you use a parameter name where Quaestor expects a string, the parameter should be of the string type (see below);
- Parameter name between quotes (") or not:
- When you use a parameter name without quotes Quaestor will assume that the parameter has to be calculated (goal);
- When you place a parameter name between quotes Quaestor will assume that the parameter is input and will expect the value to be available when the relation is calculated.
- $ means string type,
- in a parameter name it means a string value is expected.
- in a function name it means it returns a string value;
in a function syntax it means a string parameter or string value is expected as input, for example:
When the general syntax is F(ParName$) you can either fill in:
F("A") with A being the name of a existing parameter or,
F(B$) with for example an additional relation B$ = "A";
- # means TeLiTab type,
- in a parameter name it means a TeLiTab value is expected;
- in a function name it means it returns a TeLiTab value;
- in a function syntax it means a TeLiTab parameter or value is expected as input, for example:
When the general syntax is F(ParName#) you can either fill in:
F("C#") with C# being the name of a existing parameter that has a TeLiTab as value or,
F(B#) with for example an additional relation B# = TELITAB#(0, A);
- % means integer type,
- in a parameter name it means a integer value is expected;
- in a function name it means it returns an integer value;
- in a function syntax it means an integer parameter or value is expected as input;
- @ is used to indicate a parameter existing or to exist in an object:
- A(B) means "use parameter B in object A". B should be available outside object A.
When B is available, it will be used as input in A.
When B is not yet available, it will become a sub goal (outside A) and when determined will be used as input in A (but will also be know outside a).
So, A will not contain B but will read B from the level it is initiated by.
This will only work if B is NOT local (the @LOCAL attribute is not present).
- A(@B) means "calculate parameter B in object A". B will be calculated inside A. B is a TopGoal in object A;
- A(@B:C) means "use parameter C as value for parameter B in object A". This enables you to connect a value for a parameter (C in this example) outside object A as input for B inside A. So give B in A the value of C. Please note that the goals of an object should be defined before the input. So, you should write A(@D, @B:C) with D a goal and B the input of C;
- "[" and "]" in a syntax for, for instance, [InpVar] means optional input (in this case variables) in the function;
- By writing:
You get the first case (1) of parameter "name" in TeLiTab "name#".
- Note that parameter names cannot be equal to intrinsic functions;
Please realise that data Quaestor can be sensible to characters in data sets that might be reserved to specific syntax. For instance, be aware that copying table data from HTML or Excel as text into Quaestor will include tabs. These tabs will sometimes cause problems while interpreting the data. We try to avoid comflicts as much as possible but an untested use case might always occur.
General format for the Wiki function descriptions:
- Argument1 description
- Argument2 description
An example knowledgebase of this function can be downloaded here.
NOTE: The font and colours used for input, relations and output are available in the editor and are as follows:
Input and relations: colour #000099 (blue)
Output: colour #006600 (green)