Ruby 初心者スレッド Part 39
■ このスレッドは過去ログ倉庫に格納されています
0635598
2010/11/25(木) 01:28:48>参照先のインスタンスが変わるだけじゃないの?
たとえば>>594の場合だと、(インスタンスではなく)クラスと表現したほうが適切だろうね。
難しく言えば「クラスオブジェクトであり、その言葉の意味は.....」とかなるけど、初心者スレ向きじゃない。
>文脈によって意味が変わるってどういう場合にどんな意味に変わるんだ?
・定義しようとしているメソッドはクラスメソッドなのかインスタンスメソッドなのか?
・selfの位置はメソッド定義の内側か外側か?
これらの組合せによって、参照先のオブジェクトがインスタンスになったりクラスになったりする、という意味。
さらに(>>594は最も単純なケースだけど)、これに
・モジュールやクラスの定義がネストする(= 入れ子になった)ケース
・includeによるMix-inや、加えてextendによる........
みたいな条件の組合せが絡みだすと、(少なくとも漏れには)もうワカワカメな状態になる。
そんな事で悩むくらいなら、(selfで省略したりせずに)クラス名を明示的に書いたほうが最終的には楽になるカモ、という意味。
難しいことを言う(押し付ける)気はなくて、楽をしよう!!、ズボラなプログラミングで行こうぜ!!っていうお話です。
■ このスレッドは過去ログ倉庫に格納されています