Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

    • 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,

      Code Block
      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:
    name#.name.1
    You get the first case (1) of parameter "name" in TeLiTab "name#".
  • Note that parameter names cannot be equal to intrinsic functions;

...