[#42915] min(n), max(n), min_by(n), max_by(n) — Tanaka Akira <akr@...>
思ったんですが、
[#42937] Re: Proc#callの別名の提案 — hattorihiroaki1@...
服部裕暁です。
[#42944] [Ruby 1.8-Bug#4230][Open] PlatformSDKのヘッダでビルドするとSocket::getaddrinfoで例外 — Masahiro Kitajima <redmine@...>
Bug #4230: PlatformSDKのヘッダでビルドするとSocket::getaddrinfoで例外
[#42945] [Ruby 1.8-Bug#4231][Open] configure.bat --with-winsock2 が socket/extconf.rbに効いていない — Masahiro Kitajima <redmine@...>
Bug #4231: configure.bat --with-winsock2 が socket/extconf.rbに効いていない
> Bug #4231: configure.bat --with-winsock2 が socket/extconf.rbに効いていない
(2011/01/05 15:04), KOSAKI Motohiro wrote:
[#42970] Re: 特異メソッドの定義の簡略化 — hattorihiroaki1@...
服部裕暁です。
[#43001] Re: Hash#[]の別名(Symbolをキーにして) — hattorihiroaki1@...
服部裕暁です。
[#43027] [Ruby 1.9-Feature#4280][Assigned] SJIS should be an alias of Windows-31J, not of Shift_JIS — Usaku NAKAMURA <redmine@...>
Feature #4280: SJIS should be an alias of Windows-31J, not of Shift_JIS
チケット #4280 が更新されました。 (by Motohiro KOSAKI)
こんにちは、なかむら(う)です。
2011年1月14日16:35 U.Nakamura <usa@garbagecollect.jp>:
こんにちは、なかむら(う)です。
[#43039] ext/openssl development repository — Hiroshi Nakamura <nakahiro@...>
W3J1YnktY29yZTozNDQxNl3jga7ml6XmnKzlkJHjgZHniYjjgafjgZnjgIIKCuacgOi/kU1hcnRp
こんにちは、なかむら(う)です。
遠藤です。
MjAxMS8xLzE0IFl1c3VrZSBFTkRPSCA8bWFtZUB0c2cubmUuanA+Ogo+Pj4gwqAgwqAgwqAgwqAg
こんにちは、なかむら(う)です。
44G+44Go44KB44Oi44O844OJ44Gn44GZ44CCCgoyMDExLzEvMTcgVS5OYWthbXVyYSA8dXNhQGdh
[#43047] Fwd: [ruby-core:33987] [Ruby 1.9-Feature#4222][Open] Irb tab completion support for the valid (but rare) obj::method invocation syntax — Yugui <yugui@...>
=E7=9F=B3=E5=A1=9A=E3=81=95=E3=82=93=E3=80=81
[#43060] [Ruby 1.9-Bug#4287][Open] test_europe_lisbon(TestTimeTZ) Failure — Tomoyuki Chikanaga <redmine@...>
Bug #4287: test_europe_lisbon(TestTimeTZ) Failure
[#43079] [Backport87-Backport#4296][Open] getaddrinfoがOSXで動かない問題をバックポートしてほしい — Takeyuki Fujioka <redmine@...>
Backport #4296: getaddrinfoがOSXで動かない問題をバックポートしてほしい
[#43092] pthread_cond を用いたConditionVariable — keiju@... (Keiju ISHITSUKA)
けいじゅ@いしつかです.
小崎@便乗です
遠藤です。
PiAxLiBkZWFkbG9ja+OBruODgeOCp+ODg+OCr+OBjOOBp+OBjeOBpuOBhOOBquOBhC4gdGhyZWFk
[#43111] Hashのイテレーション中の新規キー追加 — masa <masap.hat@...>
ruby-list の方で同じタイトルで投稿した畠山です。
はじめまして、近永と申します。
[#43139] ext/dbmのデフォルトDBについて — KOSAKI Motohiro <kosaki.motohiro@...>
小崎です
[#43140] Fwd: [ruby-cvs:37153] Ruby:r29960 (trunk): * io.c (struct argf): make lineno long, and reorder members. — Yutaka Kanemoto <kinpoco@...>
金本と申します。
[#43144] 現在 win32 portが壊れています — KOSAKI Motohiro <kosaki.motohiro@...>
遠藤さん
[#43152] RubyのパッチレベルとABI互換 — Takahiro Kambe <taca@...>
こんにちは。
うーむ。なるほど...
> うーむ。なるほど...
[ruby-dev:43125] Re: Hashのイテレーション中の新規キー追加
畠山です。
成瀬さん、ご検討ありがとうございます。
ご指摘の内容は理解しました。
Ruby 1.9 Trunk 向けのパッチができないか、という方向性で考えを進め
てみることにします。
ご指摘の通り、Ruby 1.8.7(CRuby)ではeachの評価順がtable->bins配列
の順なのでrehash後には登録順がバラバラになり、そもそもRuby 1.8
では単純な修正では難しいと思っています。Ruby 1.9ではeachの評価順
が登録順になっているので(おそらくリストかなにかをつかって走査して
いるのだと期待しています)、each途中でrehashが起きてtable->bins中の
実際の登録位置が変更されても、比較的単純な修正でeach評価をそのま
ま継続していけるのではないか、と期待しています。
昨日からRuby 1.9.2とRuby 1.8.7のソースコードを見比べ始めましたが、
遠藤さんの言われた通り、大分構造が変わっているので、基本構造を
理解(勉強)するのにはRuby 1.8.7の方が適している思いました。
パッチができたあかつきには
> * each 中のハッシュへの要素追加を常に許す
> * 追加した要素は最後に評価する
という条件でマージできるかどうか提案してみることにします。
P.S.
個人的なHashキーの動的追加にこだわる熱い想いなど
近永さんのkeys.eachや成瀬さんの
class Hash
def each
keys = hash.keys
keys.each do |key|
yield(key, hash[key]) if hash.key?(key)
end
end
end
などはeach評価中に追加した要素は同じeach中に評価されません。
基本的にはeach中に評価される要素とeach回数を制御する要素を
分離していることによる解決方法だと言えると思います。
Rubyの動的処理能力を愛している利用者の立場からしますと、
やっぱりArrayもHashもeach中に自己の要素が変化したらそれに
合わせて自動的に処理を継続してい欲しい、という想いがあります。
その想いはどういうものかといいますと...
例えば、
あるバスケットボールを愛する子供がいたとします。その子供は
先天的に激しい運動をすると骨折する病気を持っているとします。
ただし軽い運動は医者から許されていて、6歳までは家の庭で
バスケットボールで遊んでいました。小学生になり、運動も活発
になり、みんなとバスケットボールをすると骨折の危険性がある
からという理由である日突然親からバスケットボールを強制的に
止められてしまいました。その子供も親が自分の身体のことを
思ってそうしたのは頭では分かっていても、バスケットボールを
やりたい、という気持ちは抑えられず日々部屋でバスケットボー
ルをいじっています。その子供の足を激しい運動にも耐えられる
ようになんとか手術でなおしてあげたい、というなりたての研修
医の気持ちに似た感情です。
(実際に医者を目指しているわけではありませんし、たとえとして
はバスケットボールでもなんでもかまいませんが...)
長々すいませんでした。
畠山