RANGOS
Un rango es un tipo de variable que representa unos elementos consecutivos.
Sintaxis: (desde..hasta)
(1..10) representa a los números del 1 al 10 inclusive.
('b'..'x') representa las letras de la 'b' a la 'x' inclusive
(desde...hasta) con 'tres' puntos, significa lo mismo pero 'el hasta' no es inclusive
=== es un ´comparador' para expresar condiciones de pertenencia al rango.
| |
BLOQUES
En ruby el concepto de bloque es muy importante
Un bloque son 'lineas' de codigo entre {}, o entre do y end
{.....} o do.......end
# Ejemplos de bloques
{a=5}
#
{
a=3
puts "uno"
puts "dos"
puts a
}
#
do
puts "linea 1"
if i==1
puts "linea2"
end
end
Un bloque puede tener parametros. Se escriben al principio etre caracteres |
{|par1|..|parn|......} o do|par1|...|parn|......end
# Ejemplos de bloques con parametros
#aqui el parametro x
{|x|a=x}
#aqui los parametros var1,var2
{|var1|var2|
a=3
puts var1
puts var2
puts a
}
#aqui los parametros x,y
do |x|y|
puts "linea 1"
if x==1
puts "linea2",x,y
end
endITERADORES
Un iterador es una función o método al que se le pasa como parámetro un bloque y ejecuta el bloque hasta que se cumple una condición
La sintasix es iterador bloque. En las instruciones del iterador nos dirán cual es la condición para que termine el iterador, si hay que pasar un parámetro al bloque y que significado tiene ese parametro
Ejemplos:
- El iterador
eachde unstring, nos ejecuta el bloque por cada palabra(pasandole el caracter separador) que hay en el string y nos deja la palabra en el parámetro del bloque - El iterador
each_bytede unstring, nos ejecuta el bloque por cada byte que hay en el string y nos deja el codigo ascii del byte en el parámetro del bloque - El iterador
eachde unrango, nos ejecuta el bloque por cada elemento del rango y nos deja el elemento del rango en el parámetro del bloque
| |
FOR
En ruby, el bucle for es un poco complicado, pero puede ser bastante util
Su sintaxis es for elemento in coleccion...end. Una coleccion puede ser casi cualquier cosa, pero por ahora solo lo utilizaremos con rangos.
Es equivalente a colecion.each do|elemento|....end.
| |
.----oOO--OOo----.
No hay comentarios:
Publicar un comentario