From: EGUCHI Osamu Date: 1997-09-18T14:02:24+09:00 Subject: [ruby-list:4401] priority of method in expression えぐち@エスアンドイー です。 式中の演算子とメソッドの強さについて教えてください。 % ruby -ne '/ruby/ && print' は問題なく実行できますが、 % ruby -ne '/ruby/ && print $_' は -e:1:perse error になってしまいました。 % ruby -ne '/ruby/ && (print $_)' とか % ruby -ne '/ruby/ and print $_' とかはOKでした。 もちろん % ruby -ne 'print $_ if /ruby/' の意味です。 man/syntax.html の演算子の一覧には明らかにメソッドと 思われるものは見当たらないんですが、(みおとしたかな??) メソッドの強さは、 「and より強く && より弱い」 で良いでしょうか? #厳密にはいったいどのへんでしょう? #メソッドによって違うとか、{えらべる}とかはないと思いますが、、 あと、真理値の偽には [FALSE, 0, nil] の3つがあるようですが、そうするとC風に if (a == 0) ... とやると、a が FALSE や nil の時には「真」ってことですね。 if (a) ... を徹底しなければいけませんね。、、まちがえそ、 それから、 nil != [] なんですね。(lisp とも違うんですね) #結局 ruby は ruby で、いろんなものと似ているけど #どれとも *かなり* ちがうですね。