No operators are defined in the standard prelude for multiples
whose elements have modes INT or REAL. This
is not a drawback as you will learn in chapter 6. Nor are there
any monadic operators in the standard prelude for multiples of
CHAR. However, multiples of CHAR occur so
often, that two dyadic operators are available for them.
The operator + is defined for all combinations of CHAR
and []CHAR. Thus, the formula
"abc" + "d"
yields the value denoted by "abcd". With these
operands, + acts as a concatenation
operator. The operator has a priority of 6 as
before.
Multiplication of values of mode CHAR or
[]CHAR is defined using the operator
*. The other operand has mode
INT and the yield has mode []CHAR. For
example, in the declaration
[]CHAR repetitions = "ab" * 3
repetitions identifies "ababab". The
formula could have been written with the integer as the left operand.
In both cases, the operator only makes sense with a positive
integer.
[]CHAR s = "Dog bites man",
t = "aeiou"
what is the value of the following formulæ? Ans
"M"+s[UPB s-1:]+s[4:10]+"d"+s[2:3]
s[5]*3+2*s[6]
Sian Mountbatten 2012-01-19