Values
Values are like atoms, that objects are made of. They are immutable, that means that string "cookie"
will always stay the same.
Booleans
Boolean is the most basic value there is. As in any language, it can be only true
or false
.
They are represented by the Bool class.
Numbers
Numbers are represented by doubles, and look just as you would expect:
10
-128
42.98
0b01010
0xff
They are represented by the Number class.
Strings
Strings is where the stuff starts to get interesting. It's an array of bytes, that uses UTF-8 to represent text. They are surrounded by double quotes (and double quotes only, we do not support single quotes to avoid the confusion!):
"muffin"
The string can also span multiple lines:
"cookies
are the
best"
Escape symbols
A few escape symbols are supported:
"\"" // Doublequote
"\\" // Backslash
"\0" // The NULL byte
"\{" // {
"\a" // Alarm beep
"\b" // Backspace
"\f" // Formfeed
"\n" // Newline
"\r" // Carriedge return
"\t" // Tab
"\v" // Vertical tab
Interpolation
If you prefix your double quotes by a dollar sign, the string starts supporting evaluation of expressions inside of double curvy brackets:
print($"9 = {3 + 3}")
Strings are instances of the String class.
Range
Range combines two numbers. It is inclusive and commonly used for iteration:
for (var i in 0 .. 10) {
print(i)
}
But ranges are also useful for getting a subset of an array:
var array = [ 1, 2, 3, 4 ]
print(array[1 .. 2]) // [ 2, 3 ]
Ranges are instances of the Range class.
Null
Null indicates a non-existing value. If you call a function, and it returns nothing, you will receive null.