Resumen y Ejemplos Ruby Programación

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]

-------------------------------------------------------------------------------------