From: NISHIKAWA Date: 2000-08-27T23:59:01+09:00 Subject: [ruby-list:24575] Re: Ruby の落とし穴 こんばんは。にゃす@3web です。 Sun, 27 Aug 2000 22:03:37 +0900 Kazuhiro NISHIYAMA wrote Kazuhiro> とりあえず「Ruby の落とし穴」スレッドを作ってMLで経験談を Kazuhiro> 募ってみるのが良いかもしれません。 あらかじめ聞いたことがあると、心構えが出来ていいですね。 賛成です。 単に間抜けなのかもしれませんが、 私の経験からネタ出しすると、(自分のページからのパクリですが) * メソッド呼出のかっこ省略による誤解釈 Time.gm (19+1)*100,2,11,12,34,56 が、(Time.gm (19+1)) * 100,2,11,12,34,56 と解釈されます。例のようにエラーが出る場合ばよいのですが、 出ない場合は厄介なことになったりします。 * ローカル変数と等号付きメソッド レシーバを省略するとメソッドではなくローカル変数として扱われます。 普通のメソッドはselfのレシーバを省略できますが、この場合は不可。 class Test def test=(val) @ival=val end def print() p @ival end def boo() test="PINPON" end end a = Test.new a.test="hogehoge" a.print #=>"hogehoge" a.boo a.print #=>"hogehoge" (not "PINPON") __ ☆ にゃす @3Web ★ PGP指紋 : 24 DC 99 F5 3E 4A C2 07 AA 21 B4 0F 96 60 34 1D ※ PGP公開鍵: http://pgp.nic.ad.jp:11371/pks/lookup?op=get&search=0x90E91DC5