Els mètodes són blocs de codi que realitzen una tasca específica i poden ser reutilitzats en diferents parts del programa. En Ruby, els mètodes són fonamentals per organitzar i estructurar el codi de manera eficient.

Continguts

Definició de Mètodes

Per definir un mètode en Ruby, utilitzem la paraula clau def seguida del nom del mètode i un bloc de codi. Aquí teniu un exemple bàsic:

def saludar
  puts "Hola, món!"
end

saludar  # Crida al mètode

Explicació

  • def saludar: Defineix un mètode anomenat saludar.
  • puts "Hola, món!": El bloc de codi que s'executarà quan es cridi al mètode.
  • end: Finalitza la definició del mètode.
  • saludar: Crida al mètode saludar.

Paràmetres de Mètodes

Els mètodes poden acceptar paràmetres, que són valors que es passen al mètode per personalitzar la seva execució. Aquí teniu un exemple:

def saludar_nom(nom)
  puts "Hola, #{nom}!"
end

saludar_nom("Anna")  # Crida al mètode amb el paràmetre "Anna"

Explicació

  • def saludar_nom(nom): Defineix un mètode anomenat saludar_nom que accepta un paràmetre nom.
  • puts "Hola, #{nom}!": Utilitza el paràmetre nom dins del bloc de codi.
  • saludar_nom("Anna"): Crida al mètode saludar_nom amb el paràmetre "Anna".

Valors de Retorn

Els mètodes poden retornar valors utilitzant la paraula clau return. Si no es proporciona explícitament un valor de retorn, Ruby retorna l'última expressió avaluada.

def sumar(a, b)
  return a + b
end

resultat = sumar(3, 4)
puts resultat  # Imprimeix 7

Explicació

  • def sumar(a, b): Defineix un mètode anomenat sumar que accepta dos paràmetres a i b.
  • return a + b: Retorna la suma de a i b.
  • resultat = sumar(3, 4): Emmagatzema el valor retornat pel mètode sumar en la variable resultat.
  • puts resultat: Imprimeix el valor de resultat.

Mètodes Predeterminats

Els mètodes poden tenir valors predeterminats per als seus paràmetres. Això és útil quan volem proporcionar valors per defecte que es poden sobrescriure si cal.

def saludar_nom(nom = "món")
  puts "Hola, #{nom}!"
end

saludar_nom        # Crida al mètode sense paràmetres, utilitza el valor predeterminat
saludar_nom("Anna")  # Crida al mètode amb el paràmetre "Anna"

Explicació

  • def saludar_nom(nom = "món"): Defineix un mètode amb un paràmetre nom que té un valor predeterminat "món".
  • saludar_nom: Crida al mètode sense paràmetres, utilitza el valor predeterminat "món".
  • saludar_nom("Anna"): Crida al mètode amb el paràmetre "Anna".

Exemples Pràctics

Exemple 1: Mètode per calcular l'àrea d'un rectangle

def area_rectangle(amplada, alçada)
  return amplada * alçada
end

puts area_rectangle(5, 10)  # Imprimeix 50

Exemple 2: Mètode per verificar si un número és parell

def es_parell?(num)
  return num % 2 == 0
end

puts es_parell?(4)  # Imprimeix true
puts es_parell?(7)  # Imprimeix false

Exercicis Pràctics

Exercici 1: Mètode per calcular la mitjana de tres números

Escriu un mètode anomenat mitjana que accepti tres números com a paràmetres i retorni la seva mitjana.

def mitjana(a, b, c)
  # El teu codi aquí
end

# Prova el mètode
puts mitjana(3, 4, 5)  # Ha de retornar 4.0

Solució

def mitjana(a, b, c)
  return (a + b + c) / 3.0
end

puts mitjana(3, 4, 5)  # Retorna 4.0

Exercici 2: Mètode per convertir graus Celsius a Fahrenheit

Escriu un mètode anomenat celsius_a_fahrenheit que accepti un valor en graus Celsius i el converteixi a Fahrenheit.

def celsius_a_fahrenheit(celsius)
  # El teu codi aquí
end

# Prova el mètode
puts celsius_a_fahrenheit(0)    # Ha de retornar 32.0
puts celsius_a_fahrenheit(100)  # Ha de retornar 212.0

Solució

def celsius_a_fahrenheit(celsius)
  return (celsius * 9.0 / 5) + 32
end

puts celsius_a_fahrenheit(0)    # Retorna 32.0
puts celsius_a_fahrenheit(100)  # Retorna 212.0

Conclusió

En aquesta secció, hem après com definir mètodes en Ruby, com passar paràmetres, com retornar valors i com utilitzar valors predeterminats. Els mètodes són una eina poderosa per organitzar i reutilitzar el codi, i són fonamentals per escriure programes eficients i mantenibles. A la següent secció, explorarem les col·leccions en Ruby, començant amb els arrays.

© Copyright 2024. Tots els drets reservats