105 votes

Quel est le but de "!" et "?" à la fin des noms de méthode ?

Parfois, je vois des méthodes dans Ruby qui ont "?" et "!" à la fin, par exemple :

 name = "sample_string"
name.reverse
name.reverse!
name.is_binary_data?

Je me demandais quel est leur but ? S'agit-il simplement d'un enrobage syntaxique ?

18voto

Bill Points 435

Le point d'interrogation indique que la méthode renvoie un booléen. Déjà répondu ici :

Que signifie l'opérateur point d'interrogation en Ruby ?

Le bang indique que la méthode agit sur l'objet lui-même. Déjà répondu ici :

Pourquoi les points d'exclamation sont-ils utilisés dans les méthodes Ruby ?

10voto

J Lundberg Points 863

En Ruby, le ? signifie que la méthode va retourner un booléen et le ! modifie l'objet sur lequel elle a été appelée. Ils sont là pour améliorer la lisibilité lorsque l'on regarde le code.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X