Primeros pasos, hacer el hola mundo:
puts "hola Mundo"
gets() es para dejar el cursos y que no se cierre la ventana.
-----------------------------------------------------------------------------------------
Crear un método:
Crear una clase y después un objeto:
class HolaMundo
def initialize()
end
def saluda()
puts "hola Mundo"
end
end
Crear un objeto: se debe colocar la clase seguido del .new()
objeto = HolaMundo.new()
objeto.saluda
gets()
-------------------------------------------------------------------------------
Comentarios:
De una línea: # aquí el comentario
De varias líneas:
=begin
aquí está
el comentario de
varias líneas
=end
--------------------------------------------------------------------------------
Variables:
Escribir el nombre de la variable y asignarle un valor.
nombre = "hola mundo"
puts nombre
otro ejemplo:
valorUno = 1
valorDos = 2
puts valorUno + valorDos
Variables Globales, De Instancia y Locales:
$ejemplo = "esta es una variable global, usualmente no se usan"
puts $ejemplo #esto imprime la variable.
variables de instancia, son visibles sólo dentro de la clase
@ejemplo2 = "variable de instancia"
Pero fuera de la clase ya no tendría acceso
Las locales son las primeras que hicimos que no llevan ni @ ni $
NO UTILIZAR ACENTOS EN NUESTRAS CADENAS.
Concatenar cadenas:
resultado = 2 + 3
puts "la suma da: #{resultado}"
o bien usar print
otra forma es:
cadena = "hola "
cadena << "mundo"
o con el método concat
cadena.concat(33)
Multiplicar cadena:
cadena = "hola " * 4
Obtener el tamaño de la cadena:
print cadena.lenght
Compara cadenas:
cadena1 = "12345"
cadena2 = "123"
resultado = cadena1 <=> cadena2
print resultado
tiene en cuenta mayúsculas y minúsculas
Si queremos pone una cadena con la primera en mayúsculas (Capitalize):
nombre = "juan"
nombre = nombre.capitalize
print nombre
------------------------------------------------------------------------------------
Convertir tipos de variables:
valorUno = "1" #que estás en modo texto
valorUno = valorUno.to_i #convierte a entero
detalles:
.to_i #convierte a entero
.to_f #convierte a float (Real)
.to_s #convierte a cadena
también existen los mismos en modo estricto:
.to_str
.to_int
------------------------------------------------------------------------------------
Operadores aritméticos:
Suma: +
Resta: -
Multiplicación: *
División: /
Potencia: **
Uso de paréntesis: ( ) indican prioridad.
--------------------------------------------------------------
El if
hora = 10
if hora < 12
puts "la operación es verdadera"
end
con el sino
hora = 14
if hora < 12
puts "la operación es verdadera"
else
puts "la operación no es es verdadera"
end
se puede agregar un anidamiento
elsif hora > 0
instrucción
else
instrucción
----------------------------------------------------
Operadores lógicos y de comparación:
exactamente igual:
mivariable == 2
aclaración: el igual solo es para asignación y no compara.
mayor: >
mayor o igual: >=
menor: <
menor o igual: <=
not antes de la comparación la invierte
not prueba > 2
que es lo mismo que ! prueba > 2
Operadora and y or:
if prueba == 1 and prueba > 0
puts "correcto"
end
también se puede colocar más de un and en la misma línea.
para el or se escribe en lugar del and
--------------------------------------------------------
Condicional Unless, es el inverso del if: funciona del mismo modo.
--------------------------------------------------------
El Case (en otros lenguajes Swich)
edad = 18
case edad
when 0..11 then print "es un pequeño"
when 12..17 then print "es un adolescente"
when 18..29 then print "es un joven"
when 30..59 then print "es adulto"
when 60..150 then print "es adulto mayor"
else print "erro de edad"
end
también se puede usar como texto cambiando esa parte:
when "texto", "texto2" then "respuesta"
la coma separa varios valores que dan verdadero
-----------------------------------------------------------
Ciclo For:
for i in(1..10)
print i
print "\n"
end
palabras reservadas:
break #sale del ciclo
next #sala un paso del ciclo.
redo #vuelve a entrar y repite un ciclo. (puede entrar en un ciclo infinito)
---------------------------------------------------------------
Recorrer un rango con each:
(1..10).each { |i| print i}
otro ejemplo, con múltiples líneas:
(1..10).each {
|i| print i
print "\n" }
otras formas:
10.downto(1) { código aquí} #del 10 al 1
1.upto(10) { código aquí } #del 1 al 10
10.times { código aquí } #del 0 al 10 siempre arranca desde el cero.
---------------------------------------------------------------------------
Ciclo While:
i = 0
while i<5 do
print i
i += 1
end
en modo inverso, es decir, do while sería así:
begin
print i
i+=1
end while i <5
se inversa es el ciclo until
---------------------------------------------------
Comillas simples y dobles:
Comillas simples: interpreta literal
Comillas dobles: puede incluir variables dentro
Diferencia entre puts y print:
puts imprime con salto de línea.
print imprime sin salto de línea.
----------------------------------------------------------
Ingreso por teclado:
puts "dame tu nombre"
nombre = gets
print "hola " + nombre
IMPORTANTE: en vez de gets debemos usar gets.chomp para limpiar el Enter en el ingreso, es decir,
------------------------------------------------------------------------------------
Arreglos:
arreglo = [9,2,3,5,4,0]
para obtener la información se usa índice, el primer elemento tiene el índice 0
ejemplo: print [9,8,7][2]
me imprimiría el 7
utilizando un índice negativo lo que se hace es obtener el valor a la inversa.
Ejemplo para agregar información al arreglo:
arreglo = [a,b,c]<<"d"
print arreglo[-1]
otra forma:
arreglo = [a,b,c].push("d")
print arreglo[-1]
-------------------------------------------------------------------------------------