Qore Programming Language Reference Manual
1.7.0
|
Methods in this pseudo-class are available to be executed on any value type (even NOTHING); this is the root class for all pseudo-classes. More...
Public Member Methods | |
bool | callp () |
Returns False; this method is reimplemented in other types and will return True if the given expression is a callable value (ie closures or call references) More... | |
bool | complexType () |
returns True if the value has a complex type, False if not More... | |
bool | empty () |
Returns True; this method will be reimplemented in container types where it may return False. More... | |
string | fullType (*bool with_namespaces) |
returns the full type name which differs from the simple type name in case of complex types and objects More... | |
bool | intp () |
Returns False; this method is reimplemented in other types and will return True if the given expression can be converted to an integer. More... | |
AbstractIterator | iterator () |
Returns an iterator object for the value; the default iterator object returned is SingleValueIterator. More... | |
int | lsize () |
Returns 1; the return value of this method should give the list size of the value, which is normally 1 for non-lists (except for NOTHING where the size will be 0) and the number of the elements in the list for lists; this method will be reimplemented in other types where it may return other values. More... | |
int | size () |
Returns zero; this method will be reimplemented in container types where it may return a non-zero value. More... | |
bool | sizep () |
Returns True if the type can return a non-zero size (True for containers including binary objects and strings, False for everything else) More... | |
bool | strp () |
Returns False; this method is reimplemented in other types and will return True if the given expression can be converted to a string. More... | |
bool | toBool () |
Returns the boolean representation of the value; the default is False. More... | |
float | toFloat () |
Returns the floating-point representation of the value; the default is 0.0. More... | |
int | toInt () |
Returns the integer representation of the value; the default is 0. More... | |
number | toNumber () |
Returns the arbitrary-precision numeric representation of the value; the default is 0. More... | |
string | toString () |
Returns the string representation of the value; the default is an empty string. More... | |
string | type () |
Returns the string type for the value. More... | |
int | typeCode () |
Returns the type code for the value. More... | |
bool | val () |
Returns False; this method is reimplemented in other types and will return True if the given expression has a non-empty value. More... | |
Methods in this pseudo-class are available to be executed on any value type (even NOTHING); this is the root class for all pseudo-classes.
bool <value>::callp | ( | ) |
Returns False; this method is reimplemented in other types and will return True if the given expression is a callable value (ie closures or call references)
bool <value>::complexType | ( | ) |
returns True if the value has a complex type, False if not
Complex types are:
bool <value>::empty | ( | ) |
Returns True; this method will be reimplemented in container types where it may return False.
This pseudo-method will return False in all non-container types; use <value>::val() to check if a generic expression that might not be a container type has a value instead.
string <value>::fullType | ( | *bool | with_namespaces | ) |
returns the full type name which differs from the simple type name in case of complex types and objects
Complex types are:
"hash<MyHash>"
)"hash<string, int>"
)"list<int>"
)"object<MyClass>"
; see Class-Specific Type Declaration)bool <value>::intp | ( | ) |
Returns False; this method is reimplemented in other types and will return True if the given expression can be converted to an integer.
AbstractIterator <value>::iterator | ( | ) |
Returns an iterator object for the value; the default iterator object returned is SingleValueIterator.
int <value>::lsize | ( | ) |
Returns 1; the return value of this method should give the list size of the value, which is normally 1 for non-lists (except for NOTHING where the size will be 0) and the number of the elements in the list for lists; this method will be reimplemented in other types where it may return other values.
int <value>::size | ( | ) |
Returns zero; this method will be reimplemented in container types where it may return a non-zero value.
This pseudo-method will return 0 in all non-container types; use <value>::val() to check if a generic expression that might not be a container type has a value instead.
bool <value>::sizep | ( | ) |
Returns True if the type can return a non-zero size (True for containers including binary objects and strings, False for everything else)
bool <value>::strp | ( | ) |
Returns False; this method is reimplemented in other types and will return True if the given expression can be converted to a string.
bool <value>::toBool | ( | ) |
Returns the boolean representation of the value; the default is False.
float <value>::toFloat | ( | ) |
Returns the floating-point representation of the value; the default is 0.0.
int <value>::toInt | ( | ) |
Returns the integer representation of the value; the default is 0.
Use <value>::intp() to determine if the current value can be converted to an integer
number <value>::toNumber | ( | ) |
Returns the arbitrary-precision numeric representation of the value; the default is 0.
string <value>::toString | ( | ) |
Returns the string representation of the value; the default is an empty string.
Use <value>::strp() to determine if the current value can be converted to a string
string <value>::type | ( | ) |
Returns the string type for the value.
int <value>::typeCode | ( | ) |
Returns the type code for the value.
This method is recommended over <value>::type() or the type(any) or typename(any) functions for comparing data types as it is much faster and more efficient than the other alternatives (which work with string values instead of integer codes).
bool <value>::val | ( | ) |
Returns False; this method is reimplemented in other types and will return True if the given expression has a non-empty value.
Type | Rule |
int, float, number | False if zero, True if non-zero |
string | False if empty, True if not empty |
list | False if empty, True if not empty |
hash | False if empty, True if not empty |
object | always True with a valid object |
code | always True |
NOTHING | always False |
NULL | always False |
Example | Result |
0.val()
| False |
1.val()
| True |
"".val()
| False (empty string) |
"0".val()
| True |
"string".val()
| True |
().val()
| False (empty list) |
(0,).val()
| True |
{}.val()
| False (empty hash) |
("a":0).val()
| True |
NOTHING.val()
| False |
NULL.val()
| False |
"0"
when evaluated in a boolean context when %perl-bool-eval is enabled (the default); note that "0".val()
returns True while boolean("0")
returns False in all cases.