上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ポリモルフィズムとdeleteメソッドの振る舞い

ポリモルフィズムとは「同じ名称のメソッドでも、オブジェクトによって異なる動きをすること」です。
sizeメソッドはString、Array、Hashなどのクラスで利用できますが、

String#size → 文字列のバイト数を返す
Array#size、Hash#size → 配列の要素数を返す


これは文字列や配列の意味を考えれば間違えにくいパターンですが、以下のようにオブジェクトによって破壊的メソッドになる時とならない時があるパターンは、混乱しますね。。

String#delete → 非破壊的メソッド(String#delete! → 破壊的メソッド)
Array#delete、Hash#delete → 破壊的メソッド


String#deleteが破壊的メソッドではない理由とかあるのでしょうか?
関連記事

コメントの投稿

非公開コメント

プロフィール

星羽(榎田)

Author:星羽(榎田)
PHPエンジニアがRuby、PHPなどをいじった時の備忘録

最新記事
最新コメント
最新トラックバック
カテゴリ
スポンサードリンク
検索フォーム
RSSリンクの表示
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。