reject!とdelete_ifの違い

レシーバに変更がなかった場合の動きが異なります。

  • reject! : nilを返す
  • delete_if : レシーバを返す
破壊的メソッド全てが、破壊されなかった場合にnilを返すわけではないようです。
間違えて覚えていたのが、リファレンスマニュアルを眺めていて発覚。
バグを埋め込む前でよかった・・