Diferencia entre revisiones de «Operadores estándares»
Línea 11: | Línea 11: | ||
''a '''igual a''' b'' | ''a '''igual a''' b'' | ||
* "'''a'''": un [[objeto]] del [[tipo]] "A". | * "'''a'''": un [[objeto]] del [[tipo]] "A". | ||
− | * "'''b'''": un [[objeto]] del [[tipo]] "B". El tipo "B" puede ser el propio tipo "A". | + | * "'''b'''": un [[objeto]] del [[tipo]] "B". El [[tipo]] "B" puede ser el propio [[tipo]] "A". |
* '''Acción''': asigna, ''campo a campo'', el valor del [[objeto]] "b" al [[objeto]] "a". Si una [[propiedad]] de "b" no existe en "a", no se asigna. Si una [[propiedad]] de "a" no existía en "b", se deja como está, es decir, con el valor anterior o el valor por defecto del [[tipo]] "A". | * '''Acción''': asigna, ''campo a campo'', el valor del [[objeto]] "b" al [[objeto]] "a". Si una [[propiedad]] de "b" no existe en "a", no se asigna. Si una [[propiedad]] de "a" no existía en "b", se deja como está, es decir, con el valor anterior o el valor por defecto del [[tipo]] "A". | ||
** Si "a" es el mismo [[objeto]] que "b" (porque sea el mismo o porque sea un ''alias''), se establece en el [[estándar]] que "a" pasará a ser un [[objeto]] '''clonado''' de "b" e '''independiente'''. En el caso de que "b" sea el propio "a", se generará [[Recolector de basura|basura inorgánica]]. | ** Si "a" es el mismo [[objeto]] que "b" (porque sea el mismo o porque sea un ''alias''), se establece en el [[estándar]] que "a" pasará a ser un [[objeto]] '''clonado''' de "b" e '''independiente'''. En el caso de que "b" sea el propio "a", se generará [[Recolector de basura|basura inorgánica]]. |
Revisión del 18:06 8 mar 2012
Dentro del Paradigma eWa, se define un conjunto de operadores estándares que son utilizados de igual manera para cualquiera de los Lenguajes de Programación eWa. Algunos de ellos son los mismos que se utilizan en otros lenguajes de programación (incluso tradicionales), pero existen numerosos operadores propios y algunos que, con la misma sintaxis, producen diferentes resultados.
Generalmente se dividen en grupos dependiendo de su cometido. A su vez, cada grupo se subdivide generalmente en dos, diferenciando los operadores atómicos y los operadores vectoriales que se aplican, respectivamente, a objetos atómicos u conjuntos.
Al crear una clase, se pueden sobrescribir los procedimientos heredados de los operadores estándares.
Sumario
Operadores de asignación
Igual a ("a:A = b:B")
a igual a b
- "a": un objeto del tipo "A".
- "b": un objeto del tipo "B". El tipo "B" puede ser el propio tipo "A".
- Acción: asigna, campo a campo, el valor del objeto "b" al objeto "a". Si una propiedad de "b" no existe en "a", no se asigna. Si una propiedad de "a" no existía en "b", se deja como está, es decir, con el valor anterior o el valor por defecto del tipo "A".
- Si "a" es el mismo objeto que "b" (porque sea el mismo o porque sea un alias), se establece en el estándar que "a" pasará a ser un objeto clonado de "b" e independiente. En el caso de que "b" sea el propio "a", se generará basura inorgánica.
- Devuelve: devuelve el propio objeto "a" ya modificado.
Idéntico a ("a2:A <=> a1:A")
a2 idéntico a a1
- "a2": un objeto del tipo "A".
- "a1": un objeto del tipo "A".
- Acción: hace que el objeto "a2" sea el mismo (a nivel físico) que el objeto "a1".
- Devuelve: devuelve el propio objeto "a2", que también es "a1".
Esta operación se puede considerar equivalente a que "a2" pase a ser un alias de "a1".