+ Addition Operator
+
Addition Operator
Adds two numeric values together (expression)
Description
The Addition Operator adds two numeric values together in an expression. Those values are placed either side of the addition operator.
Examples
Expression
» 3+2
5
Statement
out (3+2)
» 5
Detail
String Concatenation
Unlike in some other programming languages, the +
operator cannot be used to concatenate strings. This is because shells are historically untyped so you cannot always guarantee that numeric-looking value isn't a string. To solve this problem, by default Murex assumes anything that looks like a number is a number when performing addition. Thus overloading the +
operator to concatenate strings would lead to a large class of bugs.
» str = "3"
» int = 2
» $str + $int
5
Type Safety
For occasions when type safety is more important than the convenience of silent data casting, you can disable the above behaviour via config
:
» config set proc strict-types true
» $str + $int
Error in `expr` (0,1): cannot Add with string types
> Expression: $str + $int
> : ^
> Character : 1
> Symbol : Scalar
> Value : '$str'
See Also
- Define Type (
cast
): Alters the data-type of the previous function without altering its output - Expressions (
expr
): Expressions: mathematical, string comparisons, logical operators - Operators And Tokens: All supported operators and tokens
- Shell Configuration And Settings (
config
): Query or define Murex runtime settings - Strict Types In Expressions: Expressions can auto-convert types or strictly honour data types
*
Multiplication Operator: Multiplies one numeric value with another (expression)+=
Add With Operator: Adds the right hand value to a variable (expression)-
Subtraction Operator: Subtracts one numeric value from another (expression)/
Division Operator: Divides one numeric value from another (expression)float
(floating point number): Floating point number (primitive)int
: Whole number (primitive)num
(number): Floating point number (primitive)
This document was generated from gen/expr/addition-op_doc.yaml.