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: false
Conclusió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