[#42503] floatの値がずれる — Sato Hiroshi <hirocy.f01@...>

hirocyと申します.

33 messages 2006/07/04
[#42504] Re: floatの値がずれる — rubikitch <rubikitch@...> 2006/07/04

From: Sato Hiroshi <hirocy.f01@plala.to>

[#42505] Re: floatの値がずれる — Sato Hiroshi <hirocy.f01@...> 2006/07/04

hirocyです.るびきちさん,ありがとうございます.

[#42569] JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Takahiro Kambe <taca@...>

こんばんは。

19 messages 2006/07/11
[#42570] Re: JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Yukihiro Matsumoto <matz@...> 2006/07/11

まつもと ゆきひろです

[#42572] Re: JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Takahiro Kambe <taca@...> 2006/07/11

In message <1152619872.835566.21152.nullmailer@x31.priv.netlab.jp>

[#42575] Re: JVN、スクリプト言語「Ruby」の2件の脆弱性情報を公表 — Yukihiro Matsumoto <matz@...> 2006/07/11

まつもと ゆきひろです

[ruby-list:42548] Re: Array#default

From: take_tk <ggb03124@...>
Date: 2006-07-07 02:23:24 UTC
List: ruby-list #42548
たけ(tk)です

[ruby-list:42544] Re: Array#default にて
Yukihiro Matsumoto <matz@ruby-lang.org> さん曰く:

> |(1)Hash#default があるのに Array#default は無いようです。何故なんでしょ
> |うか?
> 
> 「配列だから」ではないでしょうか。配列は「値の並び」というモ
> デルが明確なので、範囲外をアクセスした場合に特定の値を返され
> てもあんまりうれしい局面が思いつきません。

欲しいなと思うときは、行や桁の個数をあらかじめ特定できないような二重配列
の場合やデータが離散的で全てを初期化する必要がない場合、などです。

----
require "Array_default" # [ruby-list:42536] Array#default

N = 20
SIZE = 5

data = (1..N).collect{ "(#{'%2.3f'%(rand+rand)},#{'%2.4f'%(rand+rand)})" }.join("\n")

ret = []
ret.extend(Array_default)
ret.default = proc{|a,n|
  a[n] = []
  a[n].extend(Array_default)
  a[n].default = proc{|aa,nn|aa[nn]=[]}
  a[n]
}

data.each{|line|
  next unless /\((.+),(.+)\)/ =~ line
  x = $1.to_f
  y = $2.to_f
  ret[(x*SIZE).to_i][(y*SIZE).to_i].push(line.chomp)
}
p ret

#=> [
#=>  nil,
#=>  [nil, nil, nil, nil, ["(0.331,0.886)", "(0.388,0.836)"]],
#=>  [nil, nil, nil, nil, nil, nil, ["(0.572,1.378)"]],
#=>  [nil, nil, nil, nil, nil, nil, ["(0.615,1.278)", "(0.667,1.333)", "(0.664,1.358)"], nil, nil, ["(0.686,1.840)"]],
#=>  [nil, nil, nil, nil, ["(0.900,0.855)", "(0.804,0.922)", "(0.939,0.800)"]],
#=>  [nil, ["(1.060,0.334)"], nil, ["(1.097,0.695)"], nil, nil, ["(1.141,1.221)"]],
#=>  [nil, nil, nil, nil, ["(1.339,0.892)"], nil, ["(1.248,1.246)"], ["(1.253,1.403)"]],
#=>  [nil, nil, ["(1.486,0.552)"], nil, nil, nil, ["(1.588,1.213)", "(1.416,1.212)"]],
#=>  [nil, nil, nil, nil, nil, nil, nil, ["(1.676,1.404)"]]
#=> ]

Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武


In This Thread