[#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に効いていない

8 messages 2011/01/05

[#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

13 messages 2011/01/14
[#43030] [Ruby 1.9-Feature#4280] SJIS should be an alias of Windows-31J, not of Shift_JIS — Motohiro KOSAKI <redmine@...> 2011/01/14

チケット #4280 が更新されました。 (by Motohiro KOSAKI)

[#43031] Re: [Ruby 1.9-Feature#4280] SJIS should be an alias of Windows-31J, not of Shift_JIS — "U.Nakamura" <usa@...> 2011/01/14

こんにちは、なかむら(う)です。

[#43033] Re: [Ruby 1.9-Feature#4280] SJIS should be an alias of Windows-31J, not of Shift_JIS — KOSAKI Motohiro <kosaki.motohiro@...> 2011/01/14

2011年1月14日16:35 U.Nakamura <usa@garbagecollect.jp>:

[#43039] ext/openssl development repository — Hiroshi Nakamura <nakahiro@...>

W3J1YnktY29yZTozNDQxNl3jga7ml6XmnKzlkJHjgZHniYjjgafjgZnjgIIKCuacgOi/kU1hcnRp

21 messages 2011/01/14
[#43040] Re: ext/openssl development repository — "U.Nakamura" <usa@...> 2011/01/14

こんにちは、なかむら(う)です。

[#43041] Re: ext/openssl development repository — Yusuke ENDOH <mame@...> 2011/01/14

遠藤です。

[#43053] Re: ext/openssl development repository — Hiroshi Nakamura <nakahiro@...> 2011/01/17

MjAxMS8xLzE0IFl1c3VrZSBFTkRPSCA8bWFtZUB0c2cubmUuanA+Ogo+Pj4gwqAgwqAgwqAgwqAg

[#43092] pthread_cond を用いたConditionVariable — keiju@... (Keiju ISHITSUKA)

けいじゅ@いしつかです.

15 messages 2011/01/24

[ruby-dev:43125] Re: Hashのイテレーション中の新規キー追加

From: masa <masap.hat@...>
Date: 2011-01-27 08:38:22 UTC
List: ruby-dev #43125
畠山です。

成瀬さん、ご検討ありがとうございます。

ご指摘の内容は理解しました。

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歳までは家の庭で
バスケットボールで遊んでいました。小学生になり、運動も活発
になり、みんなとバスケットボールをすると骨折の危険性がある
からという理由である日突然親からバスケットボールを強制的に
止められてしまいました。その子供も親が自分の身体のことを
思ってそうしたのは頭では分かっていても、バスケットボールを
やりたい、という気持ちは抑えられず日々部屋でバスケットボー
ルをいじっています。その子供の足を激しい運動にも耐えられる
ようになんとか手術でなおしてあげたい、というなりたての研修
医の気持ちに似た感情です。
(実際に医者を目指しているわけではありませんし、たとえとして
はバスケットボールでもなんでもかまいませんが...)

長々すいませんでした。
畠山

In This Thread