次のコードを行うと、なぜか"na"が表示されることがあります。必ずしも表示されるというわけではなく規則性はありませんが、頻繁に同じ事象が発生します。
これはRubyのバグなのでしょうか?Keyの数が多すぎるとハッシュは正しく機能しなくなるのでしょうか・・?
rb
1 2loop{ 3 4#1 5data = Hash[194 => 485, 21 => 0.84, 9981 => 47.8, 9571 => 0.59, 441 => 874, … ] #キーが10000個程のあるキーとバリューがともに数字なハッシュです 6#2 7keylist = data.keys.sort #Keyだけの配列を作りソートします 8 9#3 keylistがdataに含まれるかチェックするとたまに”na”が出る!! 10n = 0 11keylist.size.times{ 12 print data(keylist[n]) 13 n += 1 14} 15 16#dataの値を行更新します 17data = data_updated 18#0.1秒毎に繰り返します 19sleep(0.1) 20 21}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/15 14:16