COMPARACIONES
En ruby, podemos usar las clásicas comparaciones:
<
menor que.>
mayor que.==
igual que.!=
distinto que.<=
menor o igual que.>=
mayor o igual que.
CONDICIONES: IF
En ruby podemos usar condiciones con el 'bloque' if condicion.....end
, o mas completo if....else...end
o mas completo todavía: if....elsif...elsif...end
.
Las lineas que estan 'dentro' de la condición solamente se ejecutan si se cumple la condición.
La condición se escribe comparando números o cadenas con las 'comparaciones' que hemos visto antes. Ejemplos:
variable=3 print 'variable=' puts variable if variable==3 puts 'variable igual que 3' end if variable<4 puts 'variable menor que 4' end if variable>1 puts 'variable mayor que 1' end if variable>=3 puts 'mayor o igual que 3' end if variable<=3 puts 'menor o igual que 3' end if variable!=4 puts 'distinta de 4' end puts '----------------------------' if variable==4 puts 'es 4' else puts 'no es 4' end if variable==5 puts 'variable es 5' elsif variable==3 puts 'variable es 3' else puts 'ni 3 ni 5' end if variable==5 puts 'variable es 5' elsif variable==3 puts 'variable es 3' elsif variable==4 puts 'variable es 4' elsif variable==6 puts 'variable es 6' end if variable==5 puts 'variable es 5' elsif variable==3 puts 'variable es 3' elsif variable==4 puts 'variable es 4' elsif variable==6 puts 'variable es 6' else puts 'ni 3 ni 5 ni 4 ni 6' end
| variable=3 variable igual que 3 variable menor que 4 variable mayor que 1 mayor o igual que 3 menor o igual que 3 distinta de 4 ---------------------------- no es 4 variable es 3 variable es 3 variable es 3 |
BUCLES
Un bucle consiste en un numero de lineas de codigo que se repiten mientras se cumpla una condición
Tenemos basicamente dos formas de hacer bucles while condicion....end
y while condicion....end
La condición, se forma comparando cadenas y numeros con las condiciones que hemos estudiado antes
WHILE....END
Este bucle se repite mientras la condición se cumple. Ejemplo:
variable=1 print 'iniciamos variable=' puts variable while variable<10 variable=variable+1 print 'ahora variable= ' puts variable end print 'fuera del bucle' puts print 'la variable=' puts variable
| iniciamos variable=1 ahora variable= 2 ahora variable= 3 ahora variable= 4 ahora variable= 5 ahora variable= 6 ahora variable= 7 ahora variable= 8 ahora variable= 9 ahora variable= 10 fuera del bucle la variable=10 |
UNTIL....END
Este bucle se repite hasta que la condición se cumple. Ejemplo:
variable=1 print 'iniciamos variable=' puts variable until variable<<10 variable=variable+1 print 'ahora variable= ' puts variable end print 'fuera del bucle' puts print 'la variable=' puts variable
| iniciamos variable=1 ahora variable= 2 ahora variable= 3 ahora variable= 4 ahora variable= 5 ahora variable= 6 ahora variable= 7 ahora variable= 8 ahora variable= 9 ahora variable= 10 ahora variable= 11 fuera del bucle la variable=11 |
AND,OR
podemos hacer mas complicadas nuestras condiciones usando and
y or
.
como es habitual, se corresponden en castellano con el 'y' y el 'o'
Ejemplo
puts "a=5" a=5 puts "¿a > 4 and a < 6?" if a > 4 and a < 6 puts "--->si" else puts "--->no" end puts "--------" puts "¿a > 6 or a < 4?" if a > 6 or a < 4 puts "--->si" else puts "--->no" end puts "--------" puts "Numeros de 1-10" puts "entre 3 y 5" puts "o entre 8 y 9" a=0 while a <=10 if (a >= 3 and a <= 5) or (a >= 8 and a <= 9) puts a end a=a+1 end puts "--------"
| a=5 ¿a > 4 and a < 6? --->si -------- ¿a > 6 or a < 4? --->no -------- Numeros de 1-10 entre 3 y 5 o entre 8 y 9 3 4 5 8 9 --------
|
TRUE,FALSE
Una condición siempre es verdadera o falsa.
En ruby puede espresarse esto con las 'palabras reservadas' true
y false
Al igual que una variable puede ser numérica o cadena, tambien puede ser booleana
, solo aceptando el valor de true,false
El uso habitual de true,false
lo encontraremos en funciones que retornan 'verdadero' o 'falso' que veremos posteriormente. Sin embargo podemos jugar un poco para habituarnos con ellas:
puts "¿true es verdad?" if true puts "si" else puts "no" end puts "--------" puts "¿false es verdad?" if false puts "si(no puede ser)" else puts "no(menos mal)" end puts "--------" puts "2==1 es una condicion...." puts 2==1 puts "--------" puts "1==1 es una condicion...." puts 1==1 puts "--------" var=true puts "si var=true" puts "var==true es true(que lio)" if var==true puts "lo esperaba" else puts "¿Queeee?" end puts "--------" var=(1==2)var=(2==2)a=1 b=2 var=((a>2 and b<0) or (a<=5 and b<=3)) puts "y la condicion es....." if var==true puts "pues esto es verdad" else puts "esto no puede ser" end puts "--------" b=5 var1=((a>2 and b<0) or (a<=5 and b<=3)) puts "condicion antigua=" puts var puts "condicion nueva=" puts var1
| ¿true es verdad? si -------- ¿false es verdad? no(menos mal) -------- 2==1 es una condicion.... false -------- 1==1 es una condicion.... true -------- si var=true var==true es true(que lio) lo esperaba -------- y la condicion es..... pues esto es verdad -------- condicion antigua= true condicion nueva= false
|
NIL
En ruby se usa nil
para expresar algo 'nulo'. Una variable puede ser numérica, cadena, booleana(true/false)......o nil
. Veamoslo:
a=5 puts "si a=5 entonces ...." if a==nil puts "imposible" else puts "no es nil" end
puts "-------" a=nil puts "si a=nil entonces ...." if a==5 puts "me sorprenderia" else puts "no es 5" if a==nil puts "es nil" end end
| si a=5 entonces .... no es nil ------- si a=nil entonces .... no es 5 es nil
|
.----oOO--OOo----.
No hay comentarios:
Publicar un comentario