miércoles, 21 de noviembre de 2007

Tema 2: Ruby.new

Ruby es un lenguaje de scripts y orientado a objetos. Todo en ruby es un objeto.Su API puede ser consultada en: http://www.ruby­doc.org/core/


Consideraciones generales


  • Ruby puede tratar números tan grandes como lo permita la memoria del ordenador.
  • No es necesario el punto y coma al final de cada orden
  • Los comentarios comienzan con '#'
  • Podemos ahorrarnos los paréntesis a la hora de pasar parámentros si no incurrimos en ambigüedades.
  • Todo método acabado en '?' devuelve true o false.
  • Todo método acabado en '!' modifica el invocador.


Clases Importantes

  • Clase String
Pueden pasarse entre comillas simples o dobles y se concatenan con +.
Algunos métodos importantes son:
    • chop: elimina el último carácter del string
    • chomp: elimina el salto de línea al final del string.
    • split(a): devuelve un array de strings considerando el parámetro pasado como separador.
    • reverse: da la vuelta al string.
    • upcase | downcase: devuelve la cadena en minúsculas o mayúsculas.

  • Clase Symbol
Son exclusivos de Ruby y comienzan siempre por ':'. Representan cadenas de textos, tal y como los strings. A diferencia de estos, permiten ahorrar memoria ya que cualquier otro Symbol con los mismos caracteres hacen referencia a la misma posición de memoria

  • Clases Array y Hash
Representan colecciones ordenadas. En el caso de los arrays las claves son enteros, mientras que en los hashes pueden ser cualquier objeto.


Estructuras de control
  • if / elsif / else
if a > 3
puts "Mayor"
elsif a > 3
puts "Menor"
else puts "Igual"
end


  • case: Igualito al switch de Java pero más potente

case a
when String
puts "Es un string"
when Integer
puts "Es un entero"
end

  • while: El bucle por excelencia, su negado es until.

a = 5
while a <10
puts a
a +1
end

  • for
for elem in colección
...
end


Existe cuatro formas de interrumpir de un bucle desde su interior.


break: Sale completamente del bucle.
next: Salta al principio de la siguiente iteración del bucle.
redo: Reinicia la iteración en curso.
return: Produce la salida no solo del bucle si no también del
método que lo contiene.

No hay comentarios: