From: EGUCHI Osamu Date: 1997-09-19T10:26:34+09:00 Subject: [ruby-list:4429] Re: priority of method in expression > まつもと ゆきひろです > > In message "[ruby-list:4426] Re: priority of method in expression" > on 97/09/18, "EGUCHI Osamu" writes: > > |が、「print はメッソッドぢゃない」らしいので質問が間違えでした。 > | > |print は、グローバル関数なんですね。 > > 実はprintもメソッドです(また混乱するかな). > > 関数的に呼ばれる事を期待しているObjectクラスのメソッドをグロー > バル関数と呼んでいます. かなり混乱してます ^^; /RE/ && print $& と /RE/ and print $& の結果の違い(エラーの有無)は、 > メソッドはかっこを省略した時にはどの演算子よりも弱くなります. とは、少し違うように思えるのですが、、(少なくとも and よりは強そう) === ruby-1.0 の実装では parse.y の、 %type compexpr exprs expr arg primary command_call method_call ~~~~~~~~~~~~ ~~~~~~~~~~~ あるいは %type call_args call_args0 ret_args args mrhs opt_args var_ref ~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~ ~~~~ ~~~~~~~~ が、メソッド呼び出しにあたるのではないかと思うのですが(自信なし)、 こうすると、and よりは後なのでメソッドのほうが強いようです。 (これが and や or 演算子の存在意義ということ気がしないでもない) それとも話題にしている メソッドの強さ の意味が違うのでしょうか? メソッド(の名前を示すトークン)とメソッドのアーギュメント列 と言う意味です。 #sh で 「式 && コマンド」を多用してきたので、これ出来ないと #毎日エラーと格闘しなければいけない様でかなしい... # 「コマンド if 式」になぢむべきでしょうか? #こっちは、思考と語順が逆でにがてです。 #でもループ中の 「next if 式」には違和感を感じないのが不思議。