bitclust
bitclust copied to clipboard
説明のための未定義のメソッド欄の区分を設けたい
定義されていないメソッドが、定義されているメソッドの中に混ざっている例を見ます。 混ざっているのは正しくなく、正確な理解をしたい人の理解を妨げると思うため、 未定義のメソッドを混ざらないように「説明のための未定義のメソッド」などの区分で独立させたいです。
未定義のメソッドの例
Objectのインスタンスメソッド
例えば、Object
のインスタンスメソッドが顕著です。
Object#to_a (Ruby 3.0.0 リファレンスマニュアル)
説明のためここに記載してありますが、このメソッドは実際には Object クラスには定義されていません。必要に応じてサブクラスで定義すべきものです。
Array#dup, Array#clone
Array#clone (Ruby 3.0.0 リファレンスマニュアル)
また、Array
のdup
とclone
は継承されているだけなのに、説明の項目があります。
定義されているかどうかという線引だと削除すべきように思われますが、
自分自身配列でdupメソッドをよく使うし、Arrayは浅いコピーの問題が起きる代表例として載せる価値があるのかもしれないと思っています。
Integer#hash
hash メソッドが載っていないクラスがある · Issue #2556 · rurema/doctree
他に、こちらのIssueで、Integer
などに未定義のhash
メソッドがないという話題がありました。
未定義ですが何か説明すべき事情があるなら、定義されているメソッドと混ざらないようにすればいいのでは、と思いました。