Portada Favoritos
Lista Articulos: [0-C] [C-I] [I-P] [P-Z] | Todas las categorías | Página aleatoria | Lo que enlaza aquí

Lenguaje de programación Ruby

Ruby es un " lenguaje de guiones (scripts) para una programación orientada a objetos rápida y sencilla" creado en Japon en el año 1993 por Yukihiro Matsumoto. ¿Qué significa que sea un lenguaje primordialmente de scripts, que sea rápido y sencillo y que se use sintaxis de programación orientada a objetos?

Lenguaje de guiones interpretado:

Rápido y sencillo:

Programación orientada a objetos:

También:


Ruby es un lenguaje de programación interpretado, de muy alto nivel y orientado a objetos. ¿Por qué otro lenguaje más? Pues porque Ruby es diferente. Cuando Matz dice que Ruby es orientado a objetos, realmente quiere decir que es orientado a objetos. En este lenguaje, hasta los números y los caracteres literales son objetos, y tienen los métodos de su clase, que pueden llamarse normalmente.

Casi todos los comentarios sobre Ruby son puro elogio, y es que combina las mejores características de Smalltalk, Perl e incluso alguna cosa de programación funcional. Claro, que las palabras lo aguantan todo... veamos un poco de Ruby en acción:

puts 'content-type'.split('-').collect {|i| i.capitalize}.join (':')

Ufff... en una sola expresión hemos cogido un literal (content-type), lo hemos partido en dos por el signo igual, dejándolo en una lista, hemos procesado los elementos para crear una nueva, y los hemos vuelto a unir con el signo dos puntos. El resultado de la expresión, que se imprime por la pantalla, es Content:Type.

También podemos hacer bucles de forma simple y elegante, con el método upto de los enteros:

1.upto (10) { |i|
 puts i
}

Podemos declarar de forma sencilla listas de elementos literales, y luego mostrar una lista construida procesando la original:

a = %w(1 2 3 4 5 6 7 8 9)
puts a.join ', '
puts a.collect {|i| i.to_i+5 }.join ', '

Lo cual imprime

1, 2, 3, 4, 5, 6, 7, 8, 9
6, 7, 8, 9, 10, 11, 12, 13, 14

Debido a la naturaleza simple y dinámica de Ruby, podemos pasar nombres de clases como parámetro, añadir métodos a cualquier clase cuando queramos (y dependiendo de cualquier condición, o incluso dentro de bucles), ¡incluso a las clases básicas!

s = String.new ('s')
def construye (clase)
 clase.new
end
obj = construye (Array)
if obj.type == Array
 class String
 def mimetododeString
 puts 'Hola, mundo'
 end
 end
end
s.mimetododeString
"Literal que te pego".mimetododeString

Por si tienes miedo de que tanta flexibilidad puede dar lugar a muchos errores, no te preocupes, porque Ruby tiene un sistema completo de excepciones (en forma de clases, que se pueden heredar y definir) que permite lanzarlas, capturarlas, prepararse para recibirlas, y ejecutar cualquier programa al capturarlas:


class MiError <Exception
end
def saltaExcep (i)
 if i > 10
 raise MiError, 'saltaExcep'
 else
 puts i
 end
end
begin
 1.upto (20) { |i|
 saltaExcep i
 }
rescue MiError
 puts "El parámetro pasado a #{$!} fue mayor de 10"
end


Por último, tiene bastantes paquetes disponibles, un paquete que permite cargar paquetes de Python desde un programa en Ruby, primitivas de hilos, interfaces gráficas, funciones de red, etc.


Enlaces externos


Informática | Programación



Lenguajes de programación
Ada | Algol | Awk | Basic| C | C++ | C# | Cobol | Delphi | Eiffel | Forth | Fortran | Java | Lisp | Logo | Modula-2 | Oberon | Ocaml | Pascal | PHP | Perl | Prolog | Python | Ruby | Smalltalk | Otros lenguajes...




This site support the Wikimedia Foundation. This Article originally from Wikipedia. All text is available under the terms of the GNU Free Documentation License Page HistoryOriginal ArticleWikipedia