Le point d'exclamation signifie beaucoup de choses, et parfois, il ne permet pas de savoir grand-chose d'autre que "c'est dangereux, faites attention".
Comme d'autres l'ont dit, dans les méthodes standard, il est souvent utilisé pour indiquer une méthode qui amène un objet à se muter, mais pas toujours. Notez que de nombreuses méthodes standard changent leur récepteur et n'ont pas de point d'exclamation ( pop
, shift
, clear
), et certaines méthodes avec des points d'exclamation ne changent pas leur récepteur ( exit!
). Voir cet article par exemple.
D'autres bibliothèques peuvent l'utiliser différemment. Dans Rails, un point d'exclamation signifie souvent que la méthode lèvera une exception en cas d'échec plutôt que d'échouer en silence.
Il s'agit d'une convention de dénomination, mais de nombreuses personnes l'utilisent de manière subtilement différente. Dans votre propre code, une bonne règle à suivre est de l'utiliser lorsqu'une méthode fait quelque chose de "dangereux", en particulier lorsque deux méthodes portant le même nom existent et que l'une d'entre elles est plus "dangereuse" que l'autre. Mais "dangereux" peut signifier presque n'importe quoi.
26 votes
Synonyme : bang, point d'exclamation
17 votes
La réponse acceptée devrait être modifiée comme suit stackoverflow.com/a/612653/109618 . Voir wobblini.net/bang.txt y ruby-forum.com/topic/176830#773946 -- "Le signe bang signifie "la version bang est plus dangereuse que sa contrepartie non bang ; manipulez-la avec précaution"" -Matz
3 votes
La méthode bang serait un excellent choix de conception si uniquement y todo Les méthodes de bang étaient dangereuses. Malheureusement, elles ne le sont pas, et cela devient donc un exercice frustrant de mémorisation de ce qui est et n'est pas mutable.