- 321 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 18:03:24 ]
- なんでそんなに迷うんだよ…
特殊なのはインスタンスメソッドのマニュアル記載法の # だけで、あとは通常のスクリプト内記法と一緒じゃんよ ドットは 「マニュアルでのクラスメソッド」 「スクリプト内のインスタンスメソッド」 「スクリプト内のクラスメソッド」 の3つがあってややアレだが、 たいていの場合、 . の左は「明らかにクラス名」か「明らかに変数名」のどっちかだろ? 左が@始まりや全部小文字の変数名だったらとりあえずインスタンスメソッドの起動記法だと思え だから、マニュアルに “小文字.メソッド” があったら変数に対するコピペ実行可能なインスタンスメソッドチェーンだ 例: arr.join の場合、「arrはローカル変数っぽい」から、「arrが指すオブジェクトのクラスのインスタンスメソッドjoin」だとみなす 「変数arrにクラスオブジェクト本体が入ってたらクラスメソッドが起動する可能性が」とか余計なことは考えない 左が大文字で始まってる「明らかにクラス名」の場合はクラスメソッドのマニュアル記載法&スクリプト内のクラスメソッドだ 例: uri.path と URI.parse は連結法はドットで同一だが、 前者は変数っぽいので「変数uriの指すオブジェクトのクラスのインスタンスメソッドpathを起動するようにする」という指示記述 後者はクラスっぽいので「クラス(またはモジュール)URIのクラスメソッドparse」を指すマニュアル記述または起動指示 文字化して書いててどうでもよくなってきた もしかして、この辺の区別って実は本当の初心者にはつけづらかったりする?
|

|