[#47501] Hash の制約について( Ruby1.8) — 上田佳寛 <ueda@...>
皆様はじめまして
8 messages
2010/10/01
[#47528] Ruby1.9.1 p430へのRDE インストールについて — eiichi_maekawa@...
5 messages
2010/10/07
[#47529] ruby1.9.2 にて、 IO#reopen で第2引数を省略したときにモードが引き継がれない — jugyo kohno <kkohno@...>
jugyo と申します
11 messages
2010/10/08
[#47562] Re: ruby1.9.2 にて、 IO#reopen で第2引数を省略したときにモードが引き継がれない
— "Y. NOBUOKA" <nobuoka@...>
2010/10/15
信岡です。
[#47563] SketchUpのRubyでwin32oleをrequireする方法について(質問)
— "yahata hisashi" <yahatah@...>
2010/10/16
Google SketchUpのRubyでwin32oleをrequireする方法について教えていただきたく
[#47564] Re: SketchUpのRubyでwin32oleをrequireする方法について(質問)
— Masaki Suketa <masaki.suketa@...>
2010/10/16
助田です。
[#47566] Re: SketchUpのRubyでwin32oleをrequireする方法について(質問)
— "yahata hisashi" <yahatah@...>
2010/10/16
助田 雅紀様
[#47567] Re: SketchUpのRubyでwin32oleをrequireする方法について(質問)
— Masaki Suketa <masaki.suketa@...>
2010/10/16
助田です。
[#47537] Excel用のxmlssファイルを作成するライブラリ exlap_c — "YOSHIIZUMI" <t-yoshiizumi@...>
吉泉といいます。
11 messages
2010/10/10
[#47575] Re: Excel用のxmlssファイルを作成するライブラリ exlap_c
— 染谷 康一 <kouichi_someya@...>
2010/10/18
吉泉さん
[#47547] 正規表現で困っています — 成田恭一[NWH] <ntnarita_prn@...>
Ruby初心者の成田と申します。
7 messages
2010/10/13
[#47578] Ruby1.9.2のRDocで定義が出力されないことがある — KANAI-Takashi <kanai@...>
こんにちは。
6 messages
2010/10/18
[ruby-list:47501] Hash の制約について( Ruby1.8)
From:
上田佳寛 <ueda@...>
Date:
2010-10-01 00:49:51 UTC
List:
ruby-list #47501
皆様はじめまして
Ruby を2週間前から学習開始しだしたウエダといいます。
Hashですが、どの程度大きいものが作れるのかと思い
簡単なプログラムを作ってみたのですが不明点が2点あります。
(1) 最大サイズは決まっているのか?
またはマシン(OS, ヒープサイズの設定等)による違いがある?
(2) 最大サイズを超えたHashにデータを追加し続けるとどのような挙動になるのか?
(上書きか、追加失敗か、そのときのキー値は?)
というわけで、以下にソースを付けます。(動かすとかなり時間が掛かります。)
---cut cut
# 新しいハッシュを作る
friends = Hash.new
i = 0
while i < 5000000
i_s = i.to_s
friends[i_s.intern] = i.to_s
i = i + 1
end
puts "size = #{friends.size}"
puts "friends[:0] = #{friends['0'.intern]}"
puts "friends[:2097152] = #{friends['2097152'.intern]}"
puts "i = #{i}"
i = 0
while i < friends.size
i_s = i.to_s
friends.delete( i_s.intern )
i = i + 1
end
puts "friends[:0] = #{friends['0'.intern]}"
puts "削除されたi = #{i}"
puts "削除後size = #{friends.size}"
while i < 5000000
i_s = i.to_s
friends.delete( i_s.intern )
i = i + 1
end
puts "2度目の削除されたi = #{i}"
puts "2度目の削除後size = #{friends.size}"
-------まで