>48
obj.map! っていうメソッド呼び出しがあったら obj がレシーバだ。

メソッド名に ! が付くメソッドと付かないメソッドがあったら
末尾に ! の付かないメソッドは obj の内容を変更しない。結果は戻り値として受け取る。
末尾に ! の付いたメソッドは obj の内容を変更する。

んで、こういうレシーバの内容を変更するメソッドを破壊的メソッドと言ふ。