Perlについての質問箱 41箱目at TECHPerlについての質問箱 41箱目 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト800:デフォルトの名無しさん 09/10/12 00:51:45 一定ではないというのは環境によるんだろうが ハッシュに順序の保障を求めるべきではないとは思う 順序の保障が欲しければリストを利用/併用すべきだろうな 801:デフォルトの名無しさん 09/10/12 01:24:16 perlのバージョン依存。 perl5.10.0のperldoc -f keysでは、 =========== 超訳。 perl5.8.1までは、セキュリティー上の理由から、 keysはプログラムを実行する度に違う順序で取り出されてた。 (順番自体は見た目上ランダムに決定されてる。ただし、 同一プロセス内で、hashに変更が無いならeach, valuesでも keysと同じ順である事は保証される。) =========== 暗に「より新しいperlではkeysはhashに変更が無いなら プログラムを複数回実行しても同じ順に取り出される。」 と言ってはいるが、それをkeysのperldocでは明文化は してない。 ここまで調べて面倒になった。 俺も>>800氏と同じ見解だし。 802:デフォルトの名無しさん 09/10/12 01:32:14 うそっ わざわざランダムにしてたんだ for (keys っていう処理はするけど、大抵はsortとセットだから気にしたこともなかった 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch