[#1562] Re: rbdj1227.lzh —
わたなべです.
[#1582] [BUG] Regexp — sinara@...
原です。あけましておめでとうございます。
まつもと ゆきひろです
原です。
まつもと ゆきひろです.
[#1583] jchop — WATANABE Hirofumi <watanabe@...>
わたなべです. おめでとう.
[#1614] [tk] Cannot execute some samples — Eiji-usagi-MATSUmoto <ematsu@...>
まつもと@ぴーえふゆーと申します。はじめまして。
[#1625] matz has back! — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#1639] Script for making Index of Ruby Manual — s.suda@...
須田です。
[#1655] [Q] Use of '==', 'eql?' and 'hash' — sinara@...
原です。
[#1667] [Q] Use of Thread and Mutex — sinara@...
原です。
まつもと ゆきひろです.
原です。
原です。
[#1670] [Q] Timeout in Socket (Re: [Q] Use of Thread and Mutex) — sinara@...
原です。
まつもと ゆきひろです.
[#1677] ruby-1.0-970110 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです.
[#1682] 組み込みクラスのメソッド .htm — (Dezawa Shin-ichiro) <dezawa@...>
出沢です
[#1688] Ruby 1.0-970110 on NeXTSTEP — SHIROYAMA Takayuki <psi@...>
[#1705] 正規表現 単独の ? — Sinichiro Dezawa <dezawa@...>
出沢です
まつもと ゆきひろです
matz> rubyの使っているGNUの正規表現ルーチンのデフォルトではパター
わたなべです.
まつもと ゆきひろです.
[#1720] ruby 1.0-970116 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです.
[#1723] in-place edit on djgpp/win32 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです.
[#1753] Usage of Menu — Noritugu Nakamura <nnakamur@...>
[#1762] ruby 1.0-970118 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#1771] rectangle of canvas widget — Noritugu Nakamura <nnakamur@...>
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです.
原です。
[#1788] Text of TkCanvas — Noritugu Nakamura <nnakamur@...>
まつもと ゆきひろです.
まつもと ゆきひろです.
まつもと ゆきひろです.
わたなべです.
[#1794] Filetest error on Ruby-DJ — s.suda@...
須田です。
[#1833] GD.c revised — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#1865] ruby-1.0-960124 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです.
わたなべです.
まつもと ゆきひろです.
まつもと@ぴーえふゆーです。
まつもと ゆきひろです.
まつもと@ぴーえふゆーです。
まつもと ゆきひろです.
まつもと@ぴーえふゆーです。
[#1871] None — (Dezawa Shin-ichiro) <dezawa@...>
でざわです
[#1875] toplevel of Tk — Noritugu Nakamura <nnakamur@...>
[#1899] [Dist] Mutex — keiju@... (Keiju ISHITSUKA)
けいじゅ@SHLジャパンです.
[#1926] [Dist] Mutex module — keiju@... (Keiju ISHITSUKA)
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
原です。
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
出沢です
まつもと ゆきひろです.
原です。
[#1953] open (file descriptor) — j_kuro@... (Jun Kuroda)
黒田です.
まつもと ゆきひろです.
黒田です.
原です。
まつもと ゆきひろです.
[ruby-list:1987] Re: [Dist] Mutex module
けいじゅ@SHLジャパンです. In [ruby-list :01981 ] the message: "[ruby-list:1981] Re: [Dist] Mutex module ", on Jan/30 18:58(+0200) sinara@blade.nagaokaut.ac.jp writes: >内容一致の方はキーを失い安いけど、ハッシュを引く時はむしろ逆で >すよね。 id の方は厳しい。やっぱり、 > >hash[ [0,1] ] = 1 >p hash[ [0,1] ] # ==> nil > >という状況は避けたい気がする。 はっきりさせるためには, もうちょっと原則論から攻めた方がよいですね. ハッ シュ値がマッチするのは, 基本として==ですから値が等しい時です. つまり, 2つの配列の値が等しいとは, どういうことかということを考えれば良いでしょ う. 2つの配列が等しいとは: 1. 内容, つまり, 全ての要素が等しい 2. オブジェクトid, つまり, オブジェクトが等しい. >やっぱり食いかけたパンの値段が値段表に載ってないのは当たり前で >は?ちょっと大きさの違うパンに値段がつかないのは表の定義が悪い。 >パン一個一個に値段をつけるのはくど過ぎるのではないでしょうか? 若干例えが悪いような... ある1つキーウィに値段がついていたとして, それが数日たって食べごろ(オブ ジェクトの状態の変化)になったら値段が分からなくなっていたという感じで しょうか... # 腐りかけになると値段が下がるという話しもありますが(^^;;; 同じオブジェクトなのに状態の変化によってハッシュが引けなくなるのは問題 です. とここまで考えてきて, 文字列はフリーズされているということを思い出しま した... いまの仕様だと以下のようになりますね? h = Hash.new a = "foo" h[a] = "bar" a.concat "baz" h[a] #--> nil つまりオブジェクトの同一性よりも値(それも登録された時の)が重要視されて いるわけですね. このこと自身に文句をいうつもりはありませんが, 対称性からいって, 他のオ ブジェクトをキーにする時もちゃんと値をフリーズしないといけないですね. そのためにはオブジェクトのコピーをキーにしなくてはならないと思うのです が, rubyでは, o1 == o2 => o1.hash = o2.hash は求められていますが, o1 == o1.copy は求められていましたっけ? とはいったものの, 一般のオブジェクトのコピーをキーにするのはコストがか かり過ぎますよね. 一番いいのは, キーをフリーズするかどうかをオプション で指定できるとよいのですが... h = Hash.new(:key_freeze) >キーとキーと比較されるオブジェクトがごっちゃになってるなあ。 >値段表としてサンプルに使ったパンに手をつけるべきでない、とい >うべきか。(これは異論もあるでしょうね。) ハッシュ(の仕様)とは関係はないのですが, ちょっと気になったもので... オブジェクト指向の世界ではオブジェクトの状態は変わり得るというふうに考 えるべきだと思います. 原さんのここでの意見を聞いていると, オブジェクト指向ベース(ruby)の考え 方ではなくて値ベース(perl)で考えているようにも感じられます. オブジェク ト指向では値よりもオブジェクト, すなわちオブジェクトのアイデンティティ を基本に考えるべきだと思います. # これは前に議論のあった, 変数とオブジェクトの問題に通じていると思いま # す. >> これを踏まえて,以下のいずれが望ましいでしょう? >> (a) Hash/Arrayともidで一致を取る >> (b) Hash/Arrayとも内容で一致を取る >> (c) Hashはidで一致を取る/Arrayは内容で一致を取る >> (d) Hashは内容で一致を取る/Arrayはidで一致を取る >> (e) 上記以外のなにか(ってなに?) >なんとなく (c)。Hash はオブジェクトではなく、関数だと割り切る。:-) > >Hash を Hash に入れたくなる様な例がほしい。 ハッシュを関数と考えるならば, 関数からの写像がまさにハッシュをハッシュ に入れた例ですよね. 数学の言葉を使えば, 汎関数ですね(^^;;; それはさておいて, 最初に述べたことをもう一度繰り返しますが, この場合2 つのハッシュの値が等しいとはどういう場合かということで考えれば問題はもっ とはっきりすると思います. 2つのハッシュが等しいとは: 1. 内容, つまり, 全てのkeyとvalueが等しい 2. オブジェクトid, つまり, オブジェクトが等しい. 私の意見は: 配列の場合もハッシュの場合も本質的には変わらないので, idで比較するにし ても, 内容で比較するにしても統一する方が後々間違いの原因にならないです むだろうと思うということです. __ .....................................石塚 圭樹@SHLジャパン(株)... ------------->アドレス変わりました!! e-mail: keiju@shljapan.co.jp <----