あるrubyの書籍を読んでいてわからない箇所がありました。
Rubyには関数はありません。すべてがオブジェクトに対するメソッド呼び出しです。クラス定義の外側(これをトップレベルと呼びます)で定義されるメソッドは、クラスツリーの最上位に位置するObjectクラスに定義されたものとして扱われます。そして外からは呼び出せない内部メソッドとなるようprivate指定されます。Rubyではprivate指定されたメソッドはオブジェクトを指定しない暗黙の呼び出しでしか呼べないよう設計されています。putsも同様です。このようにしてRubyでは、オブジェクト指向における設計の一貫性を維持しつつ、使い勝手の良い手続き的プログラミングができるようになっています。これがRubyの素晴らしい点です。
この文章において"Rubyではprivate指定されたメソッドはオブジェクトを指定しない暗黙の呼び出しでしか呼べないよう設計されています、putsも同様です"という部分があまり理解できません。
あとこれってトップレベルで定義したメソッドのみに当てはまる話ですよね?クラス内で定義したprivateのメソッドって、オブジェクトを指定しないで呼び出せないですよね?
理解できていないのでわけのわからない文章になっているかもしれませんが、理解できている方詳しい回答いただきたいです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/15 08:58
2020/04/15 09:08