| Getting Started | Documentation | Glish | Learn More | Programming | Contact Us |
| Version 1.9 Build 1556 |
|
Glish provides the following functions for identifying the type of a value:
is_byte(x)
is_short(x)
is_integer(x)
is_float(x)
is_double(x)
is_complex(x)
is_dcomplex(x)
is_string(x)
is_regex(x)
is_record(x)
is_function(x)
is_agent(x)
is_file(x)
for more information.)
type_name(5)
returns "integer" and
type_name(func (x) x+1)
returns "function". The names of the various types are:
"boolean"
"byte"
"short"
"integer"
"float"
"double"
"complex"
"dcomplex"
"string"
"regex"
"record"
"function"
"agent"
"fail"
"file"
The name of a reference type is the concatenation of the string "ref" followed by the name of the referred-to type. For example,
type_name(ref "hi")
yields 'ref string' as a scalar value.
If the value is a vector with more than one element then the function reports its size and its type:
full_type_name(1:10)
yields 'integer [10]'.
If the value is a record then the function identifies each field's name and type (recursively, if one of the fields is itself a record):
full_type_name([a=1, b="how are you?", c=2:5])
yields
'record [a=integer, b=string [3], c=integer [4]]'
If the value is a reference then the function returns only its referred-to type:
full_type_name(ref 5)
returns 'integer'.
field_names([a=1, b="how are you?", c=2:5])
yields "a b c".
If x is not a record than an error message is printed and F is returned.