Expressions
We can combine our data type literals with operators. The operators only work on the same data type. For example adding Text
to Num
will cause in error and is an unsupported operation. If you want to merge multiple different values into one text, learn more here about string interpolation
Addition operator +
Addition can be performed on number, text and array. This operator applied on different data types yields different results:
Num
- Arithmetic sumText
- String concatenation[]
- Array join
12 + 42 // 54
"Hello " + "World!" // "Hello World!"
[1, 2] + [3, 4] // [1, 2, 3, 4]
Arithmetic operations
Arithmetic operations can only be used on Num
data type. Here is the list of all available ones:
+
Arithmetic sum-
Substraction*
Multiplication/
Division%
Modulo operation
((12 + 34) * 9) % 4
There is also an unary operator that negates the value stored in variable.
let value = 12
echo -value // Outputs: -12
Comparison operations
The equality ==
and inequality !=
operations can be applied to any data type as long as both sides have the same type.
"foo" != "bar"
42 == 42
true != false
"equal" == "equal"
The remaining comparison operations can only be used on the Num
data type. These are basically the same as in other modern programming languages: >
, <
, >=
, <=
.
42 != 24
Logical operations
Logical operations can only be used on Bool
data type. As opposed to C-like family of programming languages we've chosen to go for more Pythonic approach with literal names instead of symbols, as it suits the nature of the scripting programming language better: and
, or
, not
.
18 >= 12 and not false
Shorthand operator
You can use addition operator as well as any arithmetic operator combined with =
symbol to automatically apply the result to an existing variable:
let age = 18
age += 5
echo age // Outputs: 23
Text interpolation
There are moments when you want to embed values into a text:
let name = "John"
let age = 18
echo "Hi, I'm {name}. I'm {age} years old."
// Outputs: Hi, I'm John. I'm 18 years old