Das Ausrufezeichen hat viele Bedeutungen, und manchmal kann man damit nur sagen: "Das ist gefährlich, sei vorsichtig".
Wie schon gesagt, wird es in Standardmethoden oft verwendet, um eine Methode zu bezeichnen, die ein Objekt dazu bringt, sich selbst zu verändern, aber nicht immer. Beachten Sie, dass viele Standardmethoden ihren Empfänger ändern und kein Ausrufezeichen haben ( pop
, shift
, clear
), und einige Methoden mit Ausrufezeichen ändern ihren Empfänger nicht ( exit!
). Siehe dieser Artikel zum Beispiel.
Andere Bibliotheken verwenden ihn möglicherweise anders. In Rails bedeutet ein Ausrufezeichen oft, dass die Methode bei einem Fehler eine Exception auslöst, anstatt stillschweigend abzubrechen.
Es handelt sich um eine Namenskonvention, aber viele Menschen verwenden sie auf unterschiedliche Weise. In Ihrem eigenen Code ist es eine gute Daumenregel, ihn immer dann zu verwenden, wenn eine Methode etwas "Gefährliches" tut, insbesondere wenn zwei Methoden mit demselben Namen existieren und eine davon "gefährlicher" ist als die andere. "Gefährlich" kann aber fast alles bedeuten.
26 Stimmen
Synonym: Knall, Ausrufezeichen
17 Stimmen
Die akzeptierte Antwort sollte geändert werden in stackoverflow.com/a/612653/109618 . Siehe wobblini.net/bang.txt y ruby-forum.com/topic/176830#773946 -- "Das Knall-Zeichen bedeutet: "Die Knall-Version ist gefährlicher als ihr Gegenstück ohne Knall; mit Vorsicht behandeln"" -Matz
3 Stimmen
Die Bang-Methode wäre eine gute Wahl, wenn nur y alle Knallmethoden waren gefährlich. Leider sind sie das nicht, und so wird es zu einer frustrierenden Übung, sich zu merken, was veränderbar ist und was nicht.