Nodo para la lista por compresión. Más...
#include <loopStmtNode.h>
Métodos públicos | |
| foreachGeneratorNode (runNode *elem, runNode *val, runNode *exp, runNode *rb, runNode *key=NULL, runNode *if_cond=NULL, runNode *elem_key=NULL) | |
| void | run () |
Métodos públicos heredados desde arrayNode | |
| arrayNode (listNode *list) | |
| arrayNode () | |
| arrayNode (arrayNode *array) | |
| arrayNode (arrayNode *array, refNode *&refSearch) | |
| void | run () |
| string | print () const |
| symbols * | getArray () |
| void | insert (runNode *key, runNode *val, bool str=false) |
| void | del (runNode *key, bool str=false, bool force_position=false) |
| runNode * | get (runNode *key, bool str=false) |
| int | size () const |
| bool | compare (runNode *node, int op=0) |
| int | getCount () const |
| void | cAll (runNode *node_search, runNode *node_new) |
| bool | isref (runNode *node) |
| void | clear () |
| void | clearRef () |
| void | setArray (symbols array) |
| void | push (runNode *node) |
| virtual runNode * | copyArray (arrayNode *a) |
| runNode * | getClass () |
| bool | boolvalue () const |
| num | numvalue () const |
| string | strvalue () const |
| ~arrayNode () | |
Métodos públicos heredados desde expNode | |
| virtual void | setNodeValue (runNode *node) |
Métodos públicos heredados desde objectTypeNode | |
| objectTypeNode () | |
| runNode * | getMethod (runNode *key) |
| refNode * | getMethodRef (runNode *key) |
| virtual void | setClass (runNode *c) |
Métodos públicos heredados desde runNode | |
| runNode (string str) | |
| runNode () | |
| virtual void | addRef () |
| virtual void | rmRef () |
| virtual bool | is_print () const |
| virtual bool | is_runlist () const |
| virtual bool | is_string () const |
| string | getPtrString () |
Otros miembros heredados | |
Métodos públicos estáticos heredados desde arrayNode | |
| static void | generateClass () |
Métodos públicos estáticos heredados desde expNode | |
| static runNode * | clone (runNode *node) |
Métodos públicos estáticos heredados desde runNode | |
| static bool | compare (runNode *node1, runNode *node2, int op=0) |
Métodos protegidos heredados desde arrayNode | |
| string | printLevel (short int level) const |
Nodo para la lista por compresión.
Representa una expresión cuyo valor es obtenido a partir de una sentencia iterativa.
La forma más simple de crear una lista por compresión es mediante una expresión de generación y una variable que iterará sobre una expresión conjunto. En cada iteración la variable iteradora tomará un valor del conjunto. Para cada elemento se calculará el valor de la expresión generadora, la cual normalmente contendrá la variable iteradora, y será introducido en un array que será tomado como valor.
El conjunto sobre el que se itera dependerá del tipo de dato obtenido al evaluar la expresión conjunto:
Es posible filtrar los datos que serán incluidos en el array, añadiendo una condición que se deba cumplir.
También se puede especificar una identificador que guarde la clave de la referencia del elemento iterado.
El array resultado puede ser generado mediante la expresión de generación y otra expresión que se corresponda con la clave del elemento creado.
Antes de generar el elemento del array que se tomará como valor es posible ejecutar un bloque de sentencias.
| foreachGeneratorNode::foreachGeneratorNode | ( | runNode * | elem, |
| runNode * | val, | ||
| runNode * | exp, | ||
| runNode * | rb, | ||
| runNode * | key = NULL, |
||
| runNode * | if_cond = NULL, |
||
| runNode * | elem_key = NULL |
||
| ) |
Constructor de la clase.
| elem | Nodo que representa el conjunto de elementos. |
| val | Nodo que hace de identificador para el valor de cada iteración. |
| exp | Nodo que hace de expresión generadora. |
| rb | Nodo que representa el bloque de sentencias que será ejecutada en cada iteración. |
| key | Nodo que hace de identificador para la clave de cada itereación. |
| if_cond | Nodo que hace de condición para que se lleve a cabo la insercción de los elementos de la iteración. |
| elem_key | Nodo que representa la expresión generadora de la clave del elemento en la iteración. |
|
virtual |
Método que lleva a cabo la ejecución del modo. Toma como valor el array generado de forma iterativa.
Implementa runNode.