Qore Programming Language Reference Manual  0.8.12.8
<list> Class Reference

Methods in this pseudo-class can be executed on lists. More...

Inheritance diagram for Qore::<list>:

Public Member Functions

bool contains (any arg)
 Returns True if the list contains arg, False if it does not. More...
 
bool empty ()
 Returns True if the list is empty (size = 0), False if not. More...
 
any first ()
 Returns the first entry in the list. More...
 
AbstractIterator iterator ()
 Returns a ListIterator object for the list. More...
 
string join (string str)
 Creates a string from the list and a separator string given as an argument. More...
 
any last ()
 Returns the last entry in the list. More...
 
int lsize ()
 Returns the number of elements in the list. More...
 
AbstractIterator rangeIterator (any val)
 Returns a RangeIterator object for the list elements. More...
 
int size ()
 Returns the number of elements in the list. More...
 
bool sizep ()
 Returns True since lists can return a non-zero size. More...
 
int typeCode ()
 Returns Qore::NT_LIST. More...
 
bool val ()
 Returns False if the list is empty (size = 0), True if not. More...
 
- Public Member Functions inherited from <value>
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 empty ()
 Returns True; this method will be reimplemented in container types where it may return False. 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 value that would be converted to True according to the rules described in %perl-bool-eval. More...
 

Detailed Description

Methods in this pseudo-class can be executed on lists.

Member Function Documentation

◆ contains()

bool <list>::contains ( any  arg)

Returns True if the list contains arg, False if it does not.

This call uses "soft" comparisons (where types may be converted). The computational complexity is O(n) (n = the length of the list).

Code Flags:
RET_VALUE_ONLY
Parameters
argany value to check its presence in the list
Returns
True if the list contains arg, False if it does not
Example:
list l = (1, 2, 3);
bool b = l.contains(5); # returns False

◆ empty()

bool <list>::empty ( )

Returns True if the list is empty (size = 0), False if not.

The opposite of <list>::val()

Returns
True if the list is empty (size = 0), False if not
Code Flags:
CONSTANT
Example:
bool b = l.empty();

◆ first()

any <list>::first ( )

Returns the first entry in the list.

Returns
the first entry in the list
Code Flags:
CONSTANT
Example:
any e = l.first();
See also
<list>::last()
Since
Qore 0.8.5

◆ iterator()

AbstractIterator <list>::iterator ( )

Returns a ListIterator object for the list.

Returns
a ListIterator object for the list
Code Flags:
CONSTANT
Example:
map printf("+ %y\n", $1), l.iterator();
Since
Qore 0.8.6

◆ join()

string <list>::join ( string  str)

Creates a string from the list and a separator string given as an argument.

Each element in the list will be converted to a string if necessary to be concatenated to the return value string; additionally if any string argument has a different character encoding than str, then it will be converted to str's character encoding before concatentation to the return value string

Code Flags:
RET_VALUE_ONLY
Parameters
strthe separator string
Returns
a string created from a list and a separator string, each element in the list will be present in the return value separated by the separator string; the string returned with have the same character encoding as str
Example:
string str = ("a", "b", "c").join(":"); # returns "a:b:c"
Exceptions
ENCODING-CONVERSION-ERRORthis exception could be thrown if the string arguments have different character encodings and an error occurs during encoding conversion
Note
equivalent to join(string, list)
Since
Qore 0.8.5

◆ last()

any <list>::last ( )

Returns the last entry in the list.

Returns
the last entry in the list
Code Flags:
CONSTANT
Example:
any e = l.last();
See also
<list>::first()
Since
Qore 0.8.5

◆ lsize()

int <list>::lsize ( )

Returns the number of elements in the list.

For this type, this method is equivalent to size()

Returns
the number of elements in the list
Code Flags:
CONSTANT
Example:
printf("iterating %d element%s\n", val.lsize(), val.lsize() == 1 ? "" : "s");
foreach any element in (val) {
do_something(element);
}

◆ rangeIterator()

AbstractIterator <list>::rangeIterator ( any  val)

Returns a RangeIterator object for the list elements.

Code Flags:
CONSTANT
Example:
map printf("+ %y\n", $1), l.ranegIterator();
Parameters
valan optional value to be returned instead of the default integer value
Returns
a RangeIterator object for the list elements
Since
Qore 0.8.8
Qore 0.8.11.1 this pseudo-method takes the optional val argument

◆ size()

int <list>::size ( )

Returns the number of elements in the list.

Returns
the number of elements in the list
Code Flags:
CONSTANT
Example:
int len = l.size();
See also
<list>::sizep()

◆ sizep()

bool <list>::sizep ( )

Returns True since lists can return a non-zero size.

Code Flags:
CONSTANT
Returns
True since lists can return a non-zero size
See also
<list>::size()
Since
Qore 0.8.9

◆ typeCode()

int <list>::typeCode ( )

Returns Qore::NT_LIST.

Returns
Qore::NT_LIST
Code Flags:
CONSTANT
Example:
switch (l.typeCode()) {
case NT_LIST:
printf("%y: is a list\n", l);
break;
}

◆ val()

bool <list>::val ( )

Returns False if the list is empty (size = 0), True if not.

The opposite of <list>::empty()

Returns
False if the list is empty (size = 0), True if not
Code Flags:
CONSTANT
Example:
bool b = l.val();
See also