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

def nombre_del_metodo(parametro1, parametro2)
  # Código del método
end

Ejemplo Práctico

def saludar(nombre)
  puts "Hola, #{nombre}!"
end

saludar("Mundo")  # Salida: Hola, Mundo!

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

def sumar(a, b)
  a + b
end

resultado = sumar(5, 3)  # resultado es 8
puts resultado

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

def multiplicar(a, b)
  a * b
end

resultado = multiplicar(4, 5)  # resultado es 20
puts resultado

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.

© Copyright 2024. Todos los derechos reservados