[#43713] Re: 演算子の優先順位(was: Re: irb と python のバグ?) — "きむらこういち" <hogemuta@...>

木村です。

20 messages 2007/07/14
[#43715] Re: 演算子の優先順位(was: Re: irb — TunTun-m <tntn@...> 2007/07/14

bc では次式の結果は 0.81 ではなく 0.8 になります。

[ruby-list:43711] Re: irb と python のバグ? 〓〓鴎〓

From: Tetsuo Sakaguchi <saka@...>
Date: 2007-07-14 09:10:04 UTC
List: ruby-list #43711
阪口と申します。

In message <b9bb67f989a5fa553f91b02196e5ccdf@otc.ne.jp> 2007-07-14T17:30+0900,
	TunTun-m <tntn@otc.ne.jp> wrote:
> irb と python のバグではないか、と考え戸惑っています。

バグではなく、「言語仕様上」そうなっているだけだと思います。
リファレンスマニュアルの「演算子式」
http://www.ruby-lang.org/ja/man/?cmd=view;name=%B1%E9%BB%BB%BB%D2%BC%B0
を見ると、演算子の優先順位があります。それによると
「**」の方が「-(単項)」よりも優先順位が高いので、

-2**2**3

と書いたものは優先順位に併せて括弧を補うと

-(2**2**3)

となるので、-256 であっていると思います。

bc などはその辺の定義が異なるだけだと思います。

BTW:
これを書いていて上のマニュアルでは演算子の結合規則が書かれてないことに
気付きました。ひょっとすると他の項目にあるのかも知れませんが、、。

PS. Apple Mail のせいか、Subject が途中で文字化けしていますね。
--
阪口哲男@図書館情報メディア研究科.大学院.筑波大学
Tetsuo SAKAGUCHI.
Graduate School of Library, Information and Media Studies
University of Tsukuba, JAPAN.

In This Thread