En Ruby, los métodos son bloques de código que realizan una tarea específica y pueden ser llamados en cualquier parte del programa. Los métodos ayudan a organizar y reutilizar el código, haciéndolo más limpio y manejable.
Definición de Métodos
Para definir un método en Ruby, se utiliza la palabra clave def seguida del nombre del método y, opcionalmente, una lista de parámetros. El cuerpo del método contiene el código que se ejecutará cuando se llame al método. La definición del método termina con la palabra clave end.
Sintaxis Básica
Ejemplo Práctico
En este ejemplo, el método saludar toma un parámetro nombre y lo utiliza para imprimir un saludo.
Parámetros y Argumentos
Los métodos en Ruby pueden aceptar parámetros, que son variables locales dentro del método. Los valores que se pasan a estos parámetros cuando se llama al método se denominan argumentos.
Ejemplo con Múltiples Parámetros
En este ejemplo, el método sumar toma dos parámetros a y b, y devuelve su suma.
Valores por Defecto
Puedes definir valores por defecto para los parámetros de un método. Si no se proporciona un argumento para un parámetro con un valor por defecto, se utilizará el valor por defecto.
Ejemplo con Valores por Defecto
def saludar(nombre = "Mundo")
puts "Hola, #{nombre}!"
end
saludar() # Salida: Hola, Mundo!
saludar("Ruby") # Salida: Hola, Ruby!Métodos con un Número Variable de Argumentos
Ruby permite definir métodos que aceptan un número variable de argumentos utilizando el operador * antes del nombre del parámetro.
Ejemplo con Argumentos Variables
def sumar_todos(*numeros) numeros.sum end puts sumar_todos(1, 2, 3) # Salida: 6 puts sumar_todos(4, 5, 6, 7, 8) # Salida: 30
En este ejemplo, el método sumar_todos puede aceptar cualquier cantidad de argumentos y los suma todos.
Retorno de Valores
En Ruby, un método devuelve el valor de la última expresión evaluada. También puedes usar la palabra clave return para devolver un valor explícitamente.
Ejemplo de Retorno Implícito
Ejemplo de Retorno Explícito
def dividir(a, b) return "No se puede dividir por cero" if b == 0 a / b end puts dividir(10, 2) # Salida: 5 puts dividir(10, 0) # Salida: No se puede dividir por cero
Ejercicios Prácticos
Ejercicio 1: Crear un Método de Bienvenida
Crea un método llamado bienvenida que tome un nombre como parámetro y devuelva un mensaje de bienvenida.
def bienvenida(nombre)
"Bienvenido, #{nombre}!"
end
# Prueba tu método
puts bienvenida("Carlos") # Salida: Bienvenido, Carlos!Ejercicio 2: Método para Calcular el Factorial
Crea un método llamado factorial que tome un número como parámetro y devuelva su factorial.
def factorial(n) return 1 if n == 0 n * factorial(n - 1) end # Prueba tu método puts factorial(5) # Salida: 120
Ejercicio 3: Método para Verificar Números Primos
Crea un método llamado es_primo que tome un número como parámetro y devuelva true si el número es primo y false en caso contrario.
def es_primo(n)
return false if n <= 1
(2..Math.sqrt(n)).each do |i|
return false if n % i == 0
end
true
end
# Prueba tu método
puts es_primo(7) # Salida: true
puts es_primo(10) # Salida: falseConclusión
En esta sección, hemos aprendido cómo definir y utilizar métodos en Ruby. Los métodos son fundamentales para escribir código limpio y reutilizable. Hemos cubierto cómo pasar parámetros, definir valores por defecto, manejar un número variable de argumentos y devolver valores. Además, hemos practicado con algunos ejercicios para reforzar estos conceptos.
En el próximo módulo, exploraremos las colecciones en Ruby, comenzando con los arrays.
Curso de Programación en Ruby
Módulo 1: Introducción a Ruby
Módulo 2: Conceptos Básicos de Ruby
Módulo 3: Trabajando con Colecciones
Módulo 4: Programación Orientada a Objetos en Ruby
- Clases y Objetos
- Variables y Métodos de Instancia
- Variables y Métodos de Clase
- Herencia
- Módulos y Mixins
Módulo 5: Conceptos Avanzados de Ruby
- Bloques, Procs y Lambdas
- Metaprogramación
- Manejo de Excepciones
- Entrada/Salida de Archivos
- Expresiones Regulares
Módulo 6: Introducción a Ruby on Rails
- ¿Qué es Ruby on Rails?
- Configuración del Entorno Rails
- Creando una Aplicación Simple en Rails
- Arquitectura MVC
- Enrutamiento
Módulo 7: Pruebas en Ruby
- Introducción a las Pruebas
- Pruebas Unitarias con Minitest
- Desarrollo Guiado por Comportamiento con RSpec
- Mocking y Stubbing
Módulo 8: Mejores Prácticas en Ruby
- Estilo de Código y Convenciones
- Refactorización
- Optimización del Rendimiento
- Mejores Prácticas de Seguridad
