[#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:42558] Re: Array#default

From: take_tk <ggb03124@...>
Date: 2006-07-07 09:00:13 UTC
List: ruby-list #42558
たけ(tk)です

[ruby-list:42556] Re: Array#default にて
"ARAI Shunichi" <arai@mellowtone.org> さん曰く:

> > まあ、既に自前のライブラリにしてしまったので、標準でなくても困らないので
> > すが、何で Hash で出来て、Array では出来ないのだろう? という疑問です。

> いや、Arrayには初期化されていない項というのはないんですよ。
> a = [0,1,2,3,nil,5]
> というのがあったとして、a[4]は初期化されてないわけではなくて
> nilが入っているわけです。

なかなか微妙な考え方の違いが Hash と Array との間にはあるということです
ね。

----
array = []
hash  = {}

p array[1] #=> nil
p hash[1]  #=> nil
----

は、両方とも、初期化されていないnil。

----
array = []
hash  = {}

array[2] = nil
hash[2]  = nil

p array[1] #=> nil
p hash[1]  #=> nil
----

は、Arrayは nil が入っているnilで、Hashは初期化されていないnil。
見た目は似ているが、考え方が違う、と・・。

> だから、もしa[100] = 100とかして100に代入した場合、
> 6から99にも値を入れて初期化しなければならないわけです。
> 
> もしその間の値が存在しないまま使いたいのであれば、
> Hashを使うのが適当ということになります。

たしかに、オブジェクトを残さずにエクセルにピンポイントでアクセスする
[ruby-list:42557] などはHashの方が良いかもしれませんね。

----
・・・
array = Hash.new(){|a,n|
  a[n] = Hash.new(){|aa,nn|
     @workbook.worksheets(1).cells(n+1,nn+1)
  }
}

・・・

p array

#=> {5=>{}, 6=>{}, 1=>{}, 7=>{}, 8=>{}, 9=>{}, 4=>{}, 10=>{}}
----

* まだすっきりしたわけではないので、もう少し考えてみよう・・。

* 二次元(多次元)的なイメージにオブジェクトを配置する場合には、二重配
列の方がすっきりするのだが、二重ハッシュであっても同様だと考えることがで
きる。二次元イメージの全てにオブジェクトを配置するにはArrayが適している
が、離散的に配置したいのであれば、Hashを使うべき、ということか・・。なん
となく了解かも・・。

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


In This Thread

Prev Next