Generic methods

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!
  }

Last updated