Skip to content

説明のための未定義のメソッド欄の区分を設けたい #166

Open
@universato

Description

@universato

定義されていないメソッドが、定義されているメソッドの中に混ざっている例を見ます。
混ざっているのは正しくなく、正確な理解をしたい人の理解を妨げると思うため、
未定義のメソッドを混ざらないように「説明のための未定義のメソッド」などの区分で独立させたいです。

未定義のメソッドの例

Objectのインスタンスメソッド

例えば、Objectのインスタンスメソッドが顕著です。

Object#to_a (Ruby 3.0.0 リファレンスマニュアル)

説明のためここに記載してありますが、このメソッドは実際には Object クラスには定義されていません。必要に応じてサブクラスで定義すべきものです。

Array#dup, Array#clone

Array#clone (Ruby 3.0.0 リファレンスマニュアル)

また、Arraydupcloneは継承されているだけなのに、説明の項目があります。
定義されているかどうかという線引だと削除すべきように思われますが、
自分自身配列でdupメソッドをよく使うし、Arrayは浅いコピーの問題が起きる代表例として載せる価値があるのかもしれないと思っています。

Integer#hash

hash メソッドが載っていないクラスがある · Issue #2556 · rurema/doctree

他に、こちらのIssueで、Integerなどに未定義のhashメソッドがないという話題がありました。
未定義ですが何か説明すべき事情があるなら、定義されているメソッドと混ざらないようにすればいいのでは、と思いました。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions