The following methods are common to all CSML primitive types.
.type_of()
Return the type of the target value (string, array, object, float, boolean, int, null)
any_value.type_of() => String
.to_string()
Return the target value formatted as a string.
any_value.to_string() => String
.is_number()
Check if a variable can be interpreted as a number (float or int)
string.is_number() => boolean
// example
do var_int = "42"
say var_int.is_number() // true
do var_float = "42.42"
say var_int.is_number() // true
do obj = {"toto": "tutu"}
say obj.is_number() // false
.is_int()
Check if the variable can be interpreted as an int
string.is_int() => boolean
// example
do var_int = "42"
say var_int.is_number() // true
do var_float = 42.42
say var_int.is_number() // false
.is_float()
Check if the variable can be interpreted as an float
string.is_float() => boolean
// example
do var_int = 42
say var_int.is_number() // false
do var_float = 42.42
say var_int.is_number() // true
.is_error(), .get_info()
Some functions may resolve to an error due to a faulty user input, an unreachable API, or some other bug in the code. You can check the result of such functions call (like HTTP() or App()) with .is_error(), and get more information with .get_info().
do x = HTTP("https://somewhere.com/does-not-exist").send()
if (x.is_error()) {
// get info a description of the error
debug "{{x.get_info()}}"
// try something else or ask again the user for input!
}