miércoles, 21 de noviembre de 2007

Tema 5: Expresiones

Partimos de que casi todo en ruby es una expresion, es decir todo devuelve un valor. Lo que en otros lenguajes son declaraciones, en ruby son expresiones,por ejemplo:
a = if true

Caracteristicas:
- Posibilidad de encadenar expresiones.
- Contiene un paquete basico de operacion (+, ­, *, /, etc), estas operaciones son en realidad llamadas a metodos.
a.+(b)
- Como sabemos todo en ruby son objetos, luego se pueden redefinir operaciones, es decir, metodos
- Podemos encadenar igualdades, cosa que en otros lenguajes no es posible, por ejemplo:
a = (b = 1 + 2) + 3
- Las igualdades se pueden hacer en lugares donde seria imposible en otros lenguajes, como por ejemplo dentro de un if, un while o en una llamada a un metodo

Asignacion paralela:
- La simplicidad de ruby hace posible el intercambio de valores de variables, sin necesidad del uso de auxiliares:
a,b = b,a
- Cuando una asignación tiene mas de un valor izquierdo, la expresion de asignacion retorna un array de los valores derechos.
- Si una asignación contiene mas valores izquierdos que derechos, los valores izquierdos excendentes contendran nil.
- Si una asignación mútiple contiene más valores derechos que izquierdos, los valores derechos sobrantes seran ignorados.
- Si el último valor izquierdo esta precedido por un asterisco, todos los valores derechos sobrantes seran asignados como un array, por ejemplo:
a = [1, 2, 3, 4]
b, *c = a » b == 1, c == [2, 3, 4]

Expresiones boleanas:
- Todo lo que no sea false o nil, es true

No hay comentarios: