Arguments in a clause may be any of the following types:
Argument Types | Example | Details |
---|---|---|
References to Fields | %[int] | where [int] is the numeric ID of the field |
Constant Float | 3.2 | |
Constant Integers | 17 | |
Constant Strings | Hello | |
Constant Times | 20:04 | The format is based on a 24-hour clock of the type hh:mm |
Constant Dates | 8/5/68 | |
Other Clauses | (+ %0 3) | Most clauses are acceptable ;) |
Constant floats should be written with the same decimal indicator you set in the machine's preferences. This will either be a comma or a period.
Constant dates should also be written in the local format you set in the machine's preferences. This format determines what character is used to separate parts of the date (e.g., month from day from year) and the order in which each part of the date occurs. The year may be written as 2 digits (in which case it will be interpreted as 19xx if xx > 30 or 20xx if xx < 30 ). Alternatively, a four-digit year can be supplied to avoid ambiguity.
Constant times MUST be written as 24 hour values with the hours separated from the minutes by a colon (:). For example 13:00 is 1:00pm. This is necessary to avoid ambiguity with constant floats which might otherwise appear in an identical format as a time.
When a field reference is used in a script, the type of that argument will vary depending on the type of the field it references:
Reference Field Type Correspondance
Float | Float |
Integer | Integer |
Boolean | Integer |
Date | Date |
Time | Time |
All other field types are treated as Strings.
This means, for example, that field references to Float, Boolean or Integer fields can all be used with standard arithmetic operations such as +,-,*,/. It also means that you can use string operations such as string-equality seq on List field references.
A special case occurs when another Calculated Field is referenced. In this situation, the scripting engine attempts to treat the field as whatever type will be returned by the script. So a reference to a Calculated field whose script is (+ 4 3) will be treated as an integer.