Constants
Evaluation of constant expressions
The simplest type of expressions is direct value input for different data types:
- Strings
- Numbers
- Truth values
- Lists
- Sets
- Maps
String constants
"That is a text."
"That is a text with \"quotation marks\"!"
In the constants given above one direct value each is given, in this case a character string.
In combination with an instruction, for example:
$CMS_SET(varName, "That is a text.")$
a string object is generated from the constant. The expression:
$CMS_VALUE("That is a text.".class)$
therefore produces the following output:
java.lang.String
In combination with the instruction $CMS_VALUE(...)$
$CMS_VALUE("That is a text with \"quotation marks\"!")$
the expression produces the following output:
That is a text with "quotation marks"!.
Number constant
42
3.1333
In the constants given above one direct value each is given, in this case a number.
In combination with an instruction, for example:
$CMS_SET(42)$
an integer object is generated from the constant. The expression:
$CMS_VALUE(42.class)$
therefore produces the following output:
java.math.BigInteger
or the expression:
$CMS_VALUE(3.1333.class)$
the output:
java.math.BigDecimal
Boolean constant
true
false
In the constants given above a direct value is specified for each, in this case a Boolean expression which is true (or '1') or false (or '0'). In combination with an instruction, for example:
$CMS_SET(true)$
a Boolean object is generated from the constant. The expression:
$CMS_VALUE(true.class)$
therefore produces the following output:
java.lang.Boolean
List constant
In the expressions given below direct values are passed to the elements of a List .
In the first case three string objects "a", "b", "c" are passed:
["a", "b", "c"]
In the second case, 10 integer objects are passed. This type of expression, which defines an ascending or descending series 'from' a start element 'up to' an end element, is possible for Lists only:
[1..10]
The expression given above generates a list with number elements 1 to 10 and is thus evaluated analogous to:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
.
Different types of data can of course also be passed. An expression in the following form:
[1, "a", false, 43.5]
generates list elements of the following data types:
java.math.BigInteger, java.lang.String, java.lang.Boolean, java.math.BigDecimal
Map constant
In the expressions given below direct key value pairs are passed to the individual map elements:
{1:"alpha", "3":3, true:true}
In the code example given above three key value pairs are generated with the following key values:
- 1 (of integer type)
- "3" (of string type)
- true (of Boolean type)
and the values:
- "alpha" (of string type)
- 3 (of integer type)
- true (of Boolean type)
Set constant
In the expressions given below, direct values are passed to the individual set elements.
In the first case three string objects "a", "b", "c" are passed:
{"a", "b", "c"}
In the second case, 3 integer objects are passed.
{1, 45, 10}
Different types of data can of course also be passed. An expression in the following form:
[1, "a", false, 43.5]
generates elements of the following data types:
java.math.BigInteger, java.lang.String, java.lang.Boolean, java.math.BigDecimal