Vamos a aprender programación en lenguaje Ruby, por medio de ejemplos de código cortos, fáciles y relevantes.
Para ello podemos abrir nuestra terminal, consola o command (CMD):
Ejemplo “Hola Mundo“
Imprimir una cadena de texto o resultados numéricos en pantalla con el comando puts
puts "Hola Mundo"
Hola Mundo
Ejemplo Calculadora
Operación suma, resta, multiplicación, división, exponenciación y raiz cuadrada.
Nota: El simbolo #, indica que es un comentario, lo cual no se imprime en pantalla.
#declaración de variables numero1 = 10 numero2 = 2 #suma puts numero1 + numero2 #resta puts numero1 - numero2 #multiplicación puts numero1 * numero2 #división puts numero1 / numero2 #exponenciación puts numero1 ** numero2 #raiz cuadrada puts Math.sqrt(numero1)
La salida del código ruby, es:
12 8 20 5 100 3.1622776601683795
Ejemplo con Texto
Usaremos un concepto de la programación orientada a objetos llamada Método, este nos permite agrupar lineas de código reusables; su sintaxis es def nombre_metodo
def saludo puts "Hola Mundo" end saludo()
La salida del código ruby, es:
Hola Mundo
Hasta aquí nada sorprendente, pero al menos ya sabes que funciona el metodo, ahora haremos una modificación al codigo anterior:
def saludo(nombre) puts "Hola #{nombre}" end saludo("Ernesto")
Lo que ha sucedido es que se creó una variable llamada nombre y se colocó dentro de un paréntesis (parámetro), el cual está junto al nombre del método.
La salida del código ruby, es:
Hola Ernesto
Ejemplo con interpolación, metodo con parámetros predeterminados
Haremos otra versión del ejemplo anterior
def saludo(nombre = "Mundo") puts "Hola #{nombre}" end saludo("Ernesto") saludo()
La salida del código ruby, es:
Hola Ernesto Hola Mundo
Ejemplo Clase
class Frases def initialize(nombre = "Mundo") @nombre = nombre end def decir_hola puts "Hola #{@nombre}" end def decir_adios puts "Adiós #{@nombre}, vuelve pronto." end end persona = Frases.new("Ernesto") persona.decir_hola persona.decir_adios
La salida del código ruby, es:
Hola Ernesto Adiós Ernesto, vuelve pronto.
Usar metodo instance_methods para saber los metodos disponibles por herencia
print Anfitrion.instance_methods(true)
[:decir_hola, :decir_adios, :dup, :itself, :yield_self, :then, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :frozen?, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :remove_instance_variable, :instance_of?, :kind_of?, :is_a?, :tap, :singleton_class, :clone, :display, :hash, :class, :method, :public_method, :public_send, :singleton_method, :define_singleton_method, :extend, :to_enum, :enum_for, :<=>, :===, :=~, :!~, :nil?, :eql?, :respond_to?, :freeze, :inspect, :object_id, :send, :to_s, :send, :!, :==, :id, :!=, :equal?, :instance_eval, :instance_exec]
Este es para ver los metodos propios de la clase
print Anfitrion.instance_methods(false)
Salida
[:decir_hola, :decir_adios]