[#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:43714] Re: irb と 顆?蓖? のバグ? 〓〓鴎〓

From: Tetsuo Sakaguchi <saka@...>
Date: 2007-07-14 09:48:15 UTC
List: ruby-list #43714
阪口です。

In message <b3bee3e6f9ff238c686a58f7de93b90f@otc.ne.jp> 2007-07-14T18:25+0900,
	TunTun-m <tntn@otc.ne.jp> wrote:
> -2**2**3 は、256 でも -256 でも正しいということでしょうか!!

そういう意味ではなく、

-2**2**3

と記述した時に、どう解釈するのが正しいのかを定義したものが「文法」
(言語仕様)ということです。

つまり、ruby では

-(2**2**3)

と解釈するので、「-256 という結果を得るのが正しく、256という
結果は間違い」となるわけです。
(bc の方は「256」という結果を得るのが正しく、「-256」は間違いになる
わけですね。)

> 電卓スクリプト作っているのですが(解釈)難しいですね!
> http://www.otc.ne.jp/~mugenkai/keisan.rb

蛇足ですが、電卓という意味では、昔の関数電卓は

sin(0.5)

の計算をするのに

0 . 5 sin

とキーを打つ仕様になっていたものもありますし(それでも「数式通り」と
カタログにはうたっていた)、HPなどの RPN 方式の電卓もあるわけですから、
どう設計するかが問題なのは確かですね。

plain-text とかキーの打鍵のみで、手書きの数式で表していたものをどう表現
するかという意味では、仕様の設計時にどこかで妥協しなくてはならないのが、
確かに悩ましいとは思いますが、、。
--
阪口哲男@図書館情報メディア研究科.大学院.筑波大学
Tetsuo SAKAGUCHI.
Graduate School of Library, Information and Media Studies
University of Tsukuba, JAPAN.

In This Thread

Prev Next