Les Fonctions en Ruby

Introduction aux Fonctions

Les fonctions représentent un ensemble d'instructions qui sont conçues pour renvoyer une valeur. On fait souvent référence aux fonctions intégrées dans un objet comme des méthodes.

Déclaration d'une Fonction

Pour définir une fonction, nous utilisons le mot-clé def. La définition d'une fonction se termine par end. Voici un exemple simple :

def salutation
  puts "Bonjour, le monde!"
  return
end

Le résultat de l'exécution de cette fonction serait : Bonjour, le monde! avec un retour de nil.

Fonctions avec des Paramètres

Les fonctions peuvent également accepter des paramètres. Ces derniers sont des variables transmises à la fonction. Par exemple :

def salutation(nom)
  puts "Bonjour, #{nom}!"
  return
end
salutation("Jean")

Cette fonction affichera : Bonjour, Jean!, et le retour sera également nil. Il est intéressant de noter que les parenthèses sont optionnelles lors de l'appel d'une fonction :

salutation "Marie"

Le résultat sera : Bonjour, Marie!.

Retour Explicite et Implicite

Dans Ruby, si le mot-clé return n'est pas utilisé, la dernière expression évaluée sera automatiquement renvoyée. Voici un exemple d'un retour explicite :

def salutation(nom)
  return "Bonjour, #{nom}!"
end
salutation("Jean") # Retour : => Bonjour, Jean!

Et voici l'exemple d'un retour implicite :

def salutation(nom)
  "Bonjour, #{nom}!"
end
salutation("Marie") # Retour : => Bonjour, Marie!

Valeurs par Défaut

Il est possible de spécifier des valeurs par défaut pour les paramètres. Si un argument n'est pas passé à la fonction, alors cette valeur par défaut sera utilisée. Par exemple :

def salutation(nom="humain")
  return "Bonjour, #{nom}!"
end
salutation # Retour : => Bonjour, humain!