[#8599] period.rb — akira yamada / やまだあきら <akira@...>
[#8606] can't build 1.1b9_28 on digital-unix — Go Nakagawa <nakagawa@...>
中川といいます。みなさんはじめまして。
まつもと ゆきひろです
中川です。
まつもと ゆきひろです
中川です。
まつもと ゆきひろです
中川です。
まつもと ゆきひろです
中川です。
まつもと ゆきひろです
中川です。
[#8609] Re: [ruby-dev:3184] Re: once function — "MAEDA Shugo" <shugo@...>
前田です。
[#8623] method iterator — Kazuhiro HIWADA <hiwada@...>
ひわだです。最近いろんな話が出て来て面白いです。
[#8648] sin(complex) — toyofuku@...
豊福@パパイヤです。
[#8649] [BUG] Segmentation fault — IWAOKA Masahiro <iwaoka@...>
最近はすっかり ruby にお世話になっております。岩岡です。
まつもと ゆきひろです
わたなべです.
岩岡です。
岩岡です。
自己フォロウを続けてしまいまして申し訳ございません。
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです
立石@JAISTです。
まつもと ゆきひろです
まつもと ゆきひろです
立石@JAISTです。
まつもと ゆきひろです
立石です。
まつもと ゆきひろです
[#8665] Re: Equivalence.rb — toyofuku@...
豊福@パパイヤです。
[#8739] [BUG?] mathn.rb — Yoshiyuki Kusano <kusano@...>
草野です.
[#8747] Bitwise operators for String — Inaba Hiroto <inaba@...>
1.1cのリリースも近いのに、今頃こんなことを言いだしても仕方ないのかも知
まつもと ゆきひろです
[#8749] 新人にお勧めのバージョン — Sinichiro Dezawa <dezawa@...>
出沢@フジフイルム です
[#8766] Compiling ruby-1.0-971225 — Shin-ichro Hara <sinara@...>
原です。
[#8770] ruby 1.1c0 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
東芝の田中です。
In message <199807170546.OAA25091@picachu.netlab.co.jp>
出沢です
まつもと ゆきひろです
こんにちは、鄭です。
まつもと ゆきひろです
出沢@フジフイルム です
[#8778] tcltklib on 1.2 — "Kikutani, Makoto" <kikutani@...>
きくたにです。
[#8845] mapping a tagged file onto a class — Takao KAWAMURA <kawamura@...>
各行にフィルード名と値が含まれ、レコードの区切りは空行という、
まつもと ゆきひろです
In message "[ruby-list:8847] Re: mapping a tagged file onto a class"
原です。
> インスタンス変数にしたい気持ちはとてもわかるんですが、
原です。
[#8861] unary - in Complex — aito@...
あ伊藤です.
[#8862] domain name for ruby in US — gotoken@... (GOTO Kentaro)
ごとけんです
[#8872] do while — Kazumi Okamoto <kazusan@...>
はじめまして、岡本と申します。
こんにちは 小澤@日立 です。
岡本です。
[#8875] english manual 1.1c - rand — "Kikutani, Makoto" <kikutani@...>
rand(max)
[#8892] nil + 1, or Integer.to_i — Sinichiro Dezawa <dezawa@...>
出沢です
まつもと ゆきひろです
まつもと ゆきひろです
matz> 良く見るとto_i,to_fともにNumeric.htmlに記述があります.これ
けいじゅ@日本ラショナルソフトウェアです.
出沢です
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
matz> Numeric#to_iとか,Integer#to_iとかの実装があれば良い問題なん
かんだです。
まつもと ゆきひろです
前田です。
[#8897] ruby-mode.el & font-lock-mode — Takao KAWAMURA <kawamura@...>
ruby-mode.el($Revision: 1.1.1.2.2.19 $)を便利に使わせて頂い
[#8907] Perl Conference Japan in Nov. — "Kikutani, Makoto" <kikutani@...>
python-ml-jpに入ってる人じゃないとわからないネタかもしれないですが、
[ruby-list:8640] Equivalence.rb
ごとけんです
同値類のとっても単純なモジュールを書きました。
需要があれば充実させて再度公開つもりですので、
御覧下さい。
# 早い段階で名前や実装への意見を頂こうと ^^;;
今のところ、引数かブロックで与えた同値関係の商を
Family オブジェクトとして返す Equivalence#quotient
しかありません。引数とブロックが省略されると
`===' を同値関係と仮定して、その商を返します。
Family#[] は代表元を与えるとその同値類を Array
として返します。
Equivalence#quotient は each と、高速化のため
size と include? と delete を使います。
# 立石さん、石塚さんの意見はまだ活かされてません (__;
実例はこんな感じです(thanks `irb --prompt xmp'):
require "Equivalence" # also let Array include Equivalence
==>true
a = [1,2,3,4,5,6,7,8,9,10] # simple Array
==>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
q0 = a.quotient{|i,j| i%2 == j%2}
==>[[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]]
q0[1] # equivalece class for the reprezentative 1
==>[1, 3, 5, 7, 9]
q0[0] # ditto for 0 (will be nil since !a.include? 0)
==>nil
-- gotoken
#
# Equivalence.rb
#
module Equivalence
def quotient(rel = :===, &cmp)
__res__ = []
__dup__ = self.dup
if iterator?
each{|i|
if (__dup__.include? i) && (__dup__.size > 0)
__res__ |= [foo = __dup__.find_all{|j| cmp.call(i,j)}]
foo.each{|i| __dup__.delete i}
end
}
else
each{|i|
if (__dup__.include? i) && (__dup__.size > 0)
__res__ |= [foo = __dup__.find_all{|j| j.__send__(rel, i)}]
foo.each{|i| __dup__.delete i}
end
}
end
Family.new __res__
end
class Family
def initialize(ary)
@body = ary.sort
end
def inspect
@body.inspect
end
def to_s
@body.to_s
end
def [] x
@body.find{|s| s.include? x}
end
def method_missing(id, *arg, &blk)
@body.__send__(id, *arg, &blk)
end
end
end
class Array
include Equivalence
end
# end of Equivalence.rb