From: keiju@... (ÀÐÄͷ½¼ù ) Date: 1997-01-29T18:06:36+09:00 Subject: [ruby-list:1944] Re: [Dist] Mutex module けいじゅ@SHLジャパンです. In [ruby-list :01940 ] the message: "[ruby-list:1940] Re: [Dist] Mutex module ", on Jan/29 17:36(JST) matz@caelum.co.jp (Yukihiro Matsumoto) writes: >|if !(value = hash.delete(key)).nil? # 原さんのメイル対応(^^;; >| あった場合の処理 >|end >|後処理 >|# nil?の反対演算しはないですよね? > >unless (value = hash.delete(key).nil? > ... >end >ではいかが? おお. すばらしい. でも, unlessは if not??なの?? >|すくなくともArrayは戻した方が良いでしょう. それで嬉しい人はあまりいな >|いと思いますし... Structはどうかなあ... メンバが固定だからこのままでも >|良いような, 同一性の方が良いような... >Arrayはそうですかねえ.実際に使う例がないとどちらか決めかね >ますね.うーん. そういう場合は idを使ってもらった方が... Arrayのsizeが大きくなると実用 になりません. Structは今までの通りで良いと思うようになりました. 組みとしての結合性が 高いので, 各メンバでの比較は意味があるでしょう. >「a == b where a.equal? b」は言語仕様として保証されますが, >それ以上は実装によって決まると言う意味です.たとえば現在の >rubyの実装では同じ値を持つFixnumはいつもequal?ですが,将来そ >うでないrubyの処理系が出て来るかも知れません. なるほどね. そういう意味でしたか... >よって同一性によるHashを使ったプログラムは処理系によって動作 >が異なる可能性があります.逆に動作が異ならない範囲内で使うな >ら(若干速いだろうと言うことを除いては)Hashで等価なプログラム >が記述できるはずです. 納得しました. >|# includeした時には何かhook関数が呼ばれるんでしたっけ? >呼ばれません.includeはもっと静的だろうと思ったからです. でしたっけ... 何かあったような気がしたんですが... __ ..........................................石塚 圭樹@SHLジャパン(株)... ------------->アドレス変わりました!! e-mail: keiju@shljapan.co.jp <----