Variable Types
Variables defined in Scrybe can be one of the following types:
- Number (
<variable name>: num = ...) - String (
<variable name>: str = ...) - Boolean (
<variable name>: bool = ...) - General variable (
<variable name>: var = ...) - List (
<variable name>[] = ...) 
Strings are enclosed in double or single quotes and can be escaped with a backslash (\).
General variables act as a number, string, and a Boolean simultaneously, and can be used to avoid type restrictions. Each item in a list is automatically a general variable.
One can use the tonum, tostr, and tobool functions to convert between the three main types. They are available in the global namespace. The tobool function cannot convert a general variable to a boolean.
Declaration
Variables must be explicitly declared before they can be used. If a variable is declared but no value is given (my_number: num;), then it will be assigned a default value depending on the declared type:
- Numbers are set to 
0by default - Strings and general variables are set to an empty string (
"") by default - Booleans are set to 
falseby default - Lists are simply empty by default
 
Scopes
The values of variables defined at the top-level of a script must consist solely of literals and cannot reference any variable names.
Examples
Here is how you define variables:
my_string: str  = "Hello, World!";
my_number: num  = 15;
my_decimal:     = 3.14;
my_bool: bool   = 2 < 5;
my_quote        = "Benjamin Franklin once said, \"Ouch.\"";
and lists:
fibonacci[] = [1, 1, 2, 3, 5, 8, 13, 21];
messages[] = ["Hello!", "Goodbye!", "See you later!"];