let builtin is used to create local variables within the shell, and apply basic arithmetic
to variables. The
export keyword may be used to do the same for the creation of external
variables. Variables cannot be created the POSIX way, as the POSIX way is awkard to read/write
let string_variable = "hello string" let array_variable = [ hello array ]
Ion also supports setting multiple values at the same time
let a b = one two echo $a echo $b let a b = one [two three four] echo $a echo @b
one two one two three four
It's also possible to designate the type that a variable is allowed to be initialized with.
Boolean type assignments will also normalize inputs into either
false. When an
invalid value is supplied, the assignment operation will fail and an error message will be
printed. All assignments after the failed assignment will be ignored.
let a:bool = 1 let b:bool = true let c:bool = n echo $a $b $c let a:str b c:int d:float = one [two three] 4 [5.1 6.2 7.3] echo $a echo @b echo $c echo @d
true true false one two three 4 5.1 6.2 7.3