Abstract |
Ruby creado por Yukihiro Matsumoto es otro lenguaje de programación orientado a objetos. Nació en 1993 cuando el autor no pudo encontrar un lenguaje de guiones (scripting) orientado a objetos y decidió escribir uno. El nombre de Ruby se eligió porque el autor buscaba otro nombre de joya que simbolizase la cercanía del lenguaje a Perl (" La perla de los lenguajes"). |
¿ Que es Ruby ?
Es un lenguaje orientado a objetos
Es un lenguaje de guiones
Es un lenguaje de ensamble
Es un lenguaje de transparente.
Ruby es orientado a objetos desde su concepción :
Ruby toma la orientación a objetos pura de Smalltalk, pero quíta la desigual sintaxis y la confianza en un espacio de trabajo. Añade la conveniencia y el poder de Perl, pero sin todos esos casos especiales y mágicas conversiones. Envuélve en una sintaxis limpia basada en parte en Eiffel, y añade unos cuantos conceptos de Scheme, CLU, Sather, y Common Lisp. Ruby es un lenguaje que ya es más popular que Python en su Japón nativo.
Ruby es tan fuerte en las características de "scripting" como lo es Perl ya que tiene construidas las expresiones regulares compatibles a Perl 5. Tiene prácticamente todas las funciones de Perl con una sintaxis más simple.
Puede acceder a todas las llamadas "system calls" de Unix (vía las syscall al menos). Puede acceder a todas las "system calls" en Win32 (vía la Win32API)
Ruby es "transparente" como lenguaje ya que permite enfocarse directamente en el problema a resolver ya que permite iniciar la solución desde los níveles más altos de la abstracción. Ruby permite iniciar la codificación con las mínimas situaciones de error .
Ruby al menos es adecuado para las siguientes tareas:
Procesamiento de textos
Programación XML
Aplicaciones GUI: Tk, GTK, Qt, etc.
Para aplicaciones académicas por ejemplo matemáticas,física,astronomía,etc.
Programación en General: Acceso a DBMS, PalmPilot,Web, etc.
Veamos ahora algunos ejemplos :
Primer Ejemplo
#! /usr/local/bin/ruby -w a = %w( gato perro perico tamagochi ) # se crea un arreglo a.each { |mascota| puts mascota } # se iterate sobre el contenido |
Segundo Ejemplo
#! /usr/local/bin/ruby -w f = open("/etc/passwd") while renglon = f.gets() print renglon if /emeza/ =~ renglon end |
Re-escribimos el Segundo Ejemplo
#! /usr/local/bin/ruby -w File.foreach("/etc/passwd") do |renglon| print renglon if /emeza/ =~ renglon end |
Re-escribimos el Segundo Ejemplo
#! /usr/local/bin/ruby -w puts File.open("/etc/passwd").grep(/emeza/) |
Ejemplo de un Reporte
# data.txt UK , 44 , Pound , 1.85 , 100 BELGIUM , 32 , Franc , 32.0 , 200 DENMARK , 45 , Krone , 6.0 , 2000 FINLAND , 358 , Markka , 4.69, 1000 FRAncE , 33 , Franc , 5.28, 50 ELSALVADOR , 503 , Colon , 8.74, 340 PHILIPPINES , 63 , Peso , 24.8, 1000 PAKISTAN , 92 , Rupee , 38.0, 1200 BAHRAIN , 973 , Dinar , 0.38 , 45 IRAQ , 964 , Dinar , 0.60, 10 JORDAN , 962 , Dinar , 0.70, 100 SAUDIARABIA , 966 , Riyal , 3.75, 1000 # Report.rb #!/usr/local/bin/ruby -w f = open("data.txt") sum=0 par = "=================================================\n" aString = " Id Pais Moneda Taza Cantidad Valor ============================================================================\n" print aString while line = f.gets() pais, idi,moneda, taza, cantidad = line.split(",") sum += cantidad.to_i/taza.to_f printf "%3i %15s %8s %5.3f %4.2f %4.2f\n",idi,pais,moneda,taza,cantidad,cantidad.to_i/taza.to_f end print par print "Valor Total = $",sum,"\n" print par |
Siguiente | ||
Todo es un Objeto |