[#43103] 浮動小数点を比較するには — wada toshiki <wada-ts@...>

お世話になります。

21 messages 2007/01/11
[#43105] Re: 浮動小数点を比較するには — NISHIMATSU Takeshi <t_nissie@...> 2007/01/11

> Rubyレシピブック(P290)で 比較する数値の差を Float::EPSILON と比較する方法があり

[ruby-list:43141] Re: Array#[]とArray#at

From: Daisuke Yamazaki <yamajaki@...>
Date: 2007-01-26 14:06:04 UTC
List: ruby-list #43141
こんにちは.山崎です.

解決しました.自己フォローです.

On Fri, 26 Jan 2007 21:55:55 +0900
Daisuke Yamazaki <yamajaki@gmail.com> wrote:

> こんにちは山崎です.
> 
> ピッケル本にArray#atはArray#[]に比べて引数の処理の分
> 少しだけ高速とあるので[]をatに書き直しているのですが,
> 下記のようなコンパイルエラーが出ました.
> 
> % irb
> irb(main):001:0> [0,1,2].each_with_index{|v,idx|  [1,2,3][idx] = [4,5,6][v] }
> => [0, 1, 2]
> irb(main):002:0> [0,1,2].each_with_index{|v,idx|  [1,2,3].at(idx) = [4,5,6][v] }
> SyntaxError: compile error
> (irb):2: syntax error, unexpected '=', expecting '}'
> IRB.conf[:POST_PROC].call; IRB.conf[:PRE_PROC].call; [0,1,2].each_with_index{|v,idx|  [1,2,3].at(idx) = [4,5,6][v] }
>                                                                                                        ^
>         from (irb):2
> irb(main):003:0>
> 
> 演算子の優先度のあたりで私がなにか勘違いしてる気もするのですが,
> 上記は望む挙動でしょうか?

[]とatは基本同じだが[]=とat=は違うという指摘を受けました.
右辺値においては[]はatと同じだが,左辺値に於いては=があるから必ずしも
置換できないということがわかりました。

お騒がせしました.

-- 
プログラマ集団 スケールアウト
Daisuke Yamazaki <yamajaki@gmail.com>
Blog:最速配信研究会
http://d.hatena.ne.jp/yamaz/


In This Thread