[#39804] CGIでのリダイレクションの書き方 — Yoichiro Takehora <yoichiro@...>
こんにちは、竹洞です。
7 messages
2004/07/02
[#39811] keyword-argument-like argument passing via Hash — NISHIMATSU Takeshi <t-nissie@...>
西松と申します.
4 messages
2004/07/02
[#39814] Socket:IPヘッダの編集方法 — takeshi honda <moecho21@...>
本田と申します。
6 messages
2004/07/02
[#39819] [ANN] Ruby-GetText-Package-0.6.0 — Masao Mutoh <mutoh@...>
むとうです。
4 messages
2004/07/04
[#39822] (要素がString, Fixnum 以外の)配列の集合演算 — Hiroshi Takagi <gollum@...>
高木といいます、よろしく。
11 messages
2004/07/05
[#39823] Re: (要素がString, Fixnum 以外の)配列の集合演算
— 卜部昌平 <s-urabe@...>
2004/07/05
mput です。
[#39824] Re: (要素がString, Fixnum 以外の)配列の集合演算
— Hiroshi Takagi <gollum@...>
2004/07/05
高木です。
[#39826] Re: (要素がString, Fixnum 以外の)配列の集合演算
— nobu.nakada@...
2004/07/06
なかだです。
[#39856] 直接関係のない配列の有無が、ある配列の値に影響する不具合 — "Hisashi Yahata" <yahatah@...>
5 messages
2004/07/17
[#39863] forループの速度 — Masahiro Sato <msato@...>
15 messages
2004/07/20
[#39868] イテレータとfor文 — OOTANI TAKASHI <otn@...5.so-net.ne.jp>
大谷と申します。
31 messages
2004/07/20
[#39870] Re: イテレータとfor文
— Nowake <nowake@...>
2004/07/20
[#39886] Re: イテレータとfor文
— Tietew <tietew-ml-ruby-list@...>
2004/07/21
[#39891] Re: イテレータとfor文
— OOTANI TAKASHI <otn@...5.so-net.ne.jp>
2004/07/21
大谷です。
[#39910] Re: イテレータとfor文
— Atoh <atoh@...7.jp>
2004/07/23
あとうです。
[#39911] Re: イテレータとfor文
— OOTANI TAKASHI <otn@...5.so-net.ne.jp>
2004/07/23
大谷です。
[#39889] dRuby: 急に遅くなる — ちば けいすけ <chowder@...>
ちばです。
7 messages
2004/07/21
[#39908] htreeの高速化 — MoonWolf <moonwolf@...>
MoonWolfです。
6 messages
2004/07/23
[ruby-list:39822] (要素がString, Fixnum 以外の)配列の集合演算
From:
Hiroshi Takagi <gollum@...>
Date:
2004-07-05 07:57:08 UTC
List:
ruby-list #39822
高木といいます、よろしく。
二つの配列をそれぞれ集合とみなして、
array1 & array2
array2 - array1
とするのが(内部のコストはたいへんでしょうが)たいへん好きです。
配列の要素が、String やFixnum ではなく、
独自に定義したオブジェクトのインスタンスの場合、
悲しいこと &, -, は私の望みどおりにはなってくれません。
例)
class Some_Class
def initialize(a1, a2)
@attr1 = a1
@attr2 = a2
end
end
x1 = Some_Class.new("aaa", "bbb")
x2 = Some_Class.new("ccc", "ddd")
x3 = Some_Class.new("eee", "fff")
a1 = [x1, x2, x3]
y1 = Some_Class.new("aaa", "bbb")
y2 = Some_Class.new("xxx", "yyy")
y3 = Some_Class.new("eee", "fff")
a2 = [y1, y2, y3]
p a1 & a2 ← 空の配列が返る。
p a1 - a2 ← a1 そのままが返る。
Object#eql? で判定してるからしかたないんだよ、ってことなんでしょうが、
このような独自に定義したオブジェクトのインスタンスからなる配列の場合にも
集合の積・差が取ることができるメソッドを作るには、
やっぱり、クラスの配列用のクラスをまた定義して、
そのクラスにメソッドをごりごりと書いていくしかないんでしょうか?
なにか汎用的なアプローチがあれば、アドバイスいただきたく。
よろしくお願いします。
--
Hiroshi Takagi <gollum@hi-net.zaq.ne.jp>