[#5809] mod_ruby-0.0.7 — Shugo Maeda <shugo@...>
前田です。
前田です。
moochan です.
青山です。
前田です。
moochan です.
前田です。
moochan です.
moochan です.
まつもと ゆきひろです
わたなべです.
前田です。
青山です。
前田です。
moochan です.
福間@福岡 です。
moochan です.
まつもと ゆきひろです
[#5895] [REQ] 中置の def — EGUCHI Osamu <eguchi@...>
えぐち@エスアンドイーです。
えぐち@エスアンドイー です。
In message <19990303103731R.eguchi@shizuokanet.ne.jp>
[#5965] Re: Precision in Mathematica (Re: Bigfloat) — keiju@... (石塚圭樹 )
けいじゅ@日本ラショナルソフトウェアです.
ごとけん
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
まつもと ゆきひろです
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
えぐち@エスアンドイー%徳山出張中 です。
[#5970] [REQ] variable of regex — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
青山です。
前田です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
[#6009] Re: [REQ] 中置の def — "Takehiko Ueki" <takehiko@...>
ども、植木です。
まつもと ゆきひろです
[#6059] [PATCH] str_index — IKARASHI Akira <ikarashi@...>
五十嵐です。
[#6090] Thread#kill — Shugo Maeda <shugo@...>
前田です。
前田です。
前田です。
[#6141] Retry of mod_ruby — moochan <moochan@...>
moochan です.
moochan です.
[#6213] Ruby 1.3.1-990311 — Yukihiro Matsumoto <matz@...>
Ruby 1.3.1-990311 is out, check out:
[#6229] exception re-raise in Thread#join — Shugo Maeda <shugo@...>
前田です。
[#6237] [REQ] p -10 == p(-10) — Koji Arai <JCA02266@...>
新井です。
[#6242] "a\n".gsub(/$/, '-') — Wakou Aoyama <wakou@...>
青山です。
[#6259] str += — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
[#6276] Re: [ruby-list:12784] String#index, String#unpack — IKARASHI Akira <ikarashi@...>
五十嵐です。
[#6288] [REQ] interh.h — Shugo Maeda <shugo@...>
前田です。
[#6328] Re: Ruby 1.3.1-990315 — WATANABE Hirofumi <watanabe@...>
わたなべです.
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
新井です。
新井です。
青山です。
新井です。
青山です。
[#6334] Re: Ruby 1.3.1-990315 — Koji Arai <JCA02266@...>
新井です。
まつもと ゆきひろです
新井です。
新井です。
藤本です、こんにちは。
[#6356] [PATCH] ext/extmk.rb — WATANABE Hirofumi <watanabe@...>
わたなべです.
[#6426] wrong line number — Koji Arai <JCA02266@...>
以下のスクリプトが出力する行番号がおかしいです。
[#6434] Time#+ — Koji Arai <JCA02266@...>
新井です。
まつもと ゆきひろです
五十嵐です。
[#6446] sub("string", "string") — Wakou Aoyama <wakou@...>
青山です。
まつもと ゆきひろです
[#6491] about cur_mid — ttate@...
立石です。
[ruby-dev:6366] Re: Range (Re: array[last..first] (Re: Subseq of Array))
けいじゅ@日本ラショナルソフトウェアです.
メイルが分散すると何なので, まとめちゃいました.
In [ruby-dev :6308 ] the message: "[ruby-dev:6308] Re: Range (Re:
array[last..first] (Re: Subseq of Array)) ", on Mar/13 00:10(JST)
Wakou Aoyama writes:
>青山です。
>> あまりパワーをかけるとあれなんで(^^;;;
>ですね。ゆっくりいきましょう。
とかいってあまりゆっくりやっていると, 忘れてしまう(^^;;
>> なろほど. Rangeのことはおいておいて, それとは独立に考察するってことで
>> すね. その方が良いかもですね.
>>
>> そのあと, まとまったところでRangeと統合できれば統合すれば良いし...
>ええ、発展して集合クラス等に分割されていってもいいですしね。
そんな感じですね.
In [ruby-dev :6307 ] the message: "[ruby-dev:6307] Re: Range (Re:
array[last..first] (Re: Subseq of Array)) ", on Mar/13 00:10(JST)
Wakou Aoyama writes:
>青山です。
>> 順序のあるものとないものがあるんですね.
>
>はい。とりあえず、純粋に範囲だけで順序も要素も無いものと、順序や要素を
>含めたものの2つです。このうち後者に関しては強力な要素を扱う良い手立て
>がまとまれば集合クラスへと向かう可能性もあるのかもしれません。
そうか. 青山さんのRange2のイメージはあくまでも端点を2点だけもつ範囲っ
てことなんですね. もともとの, Rangeに近い(多分サブセット)になっている
んですね.
私は, 数学でいうところの
a..b == [a, b]
ってイメージです. ですので, あくまで実数の集合ですね. そういった意味で
立石さんのモデルと近いです.
青山さんはどのくらい ``純粋に範囲だけで順序も要素も無い'' にこだわれて
ますか?
>> Set -- 立石さんのもの
>> Range2
>> OrderedSet
>> Range3
>> CompositeOrderedSet
>>
>> って感じですか... OrderedSetは立石さんのSetとLoopを組み合わせた実体と
>> も考えられます.
>
>そうですね。Set, Loop もうまく分離できればこれもまた新たな展開がありそ
>うです。
ですね. 私の案だと2種類の集合が出てきて冗長って感じなので, モデルとし
てはこっちの方が奇麗だと思います.
In [ruby-dev :6310 ] the message: "[ruby-dev:6310] Re: Range (Re:
array[last..first] (Re: Subseq of Array)) ", on Mar/13 00:42(JST)
ttate@jaist.ac.jp writes:
>立石です。
>keiju> Setというと同じ要素を2度と返さないということが要求されますが, それって
>keiju> 結構強うい条件になりませんか?
>
>すいません、ここの意味する所がよく分かりません。m(_ _)m
Setというからには,
a_set = {1, 2, 3, 2, 1}
のようなものは許されないですよね. という意味でした.
立石さんの案はそういう問題はないですね. Setは条件だけもっていますので.
>keiju> 集合を表すSetと要素の取り出しを行なうLoopが分離しているところが, よい
>keiju> 感じですね.
>
>ええ、その2つは分離してもいいんじゃないかと思ってさ
>らに整数以外も扱いたいなぁとかおもったらこういうもの
>になったのでした。
ですね. このLoopって用語は何か深い意味があるのですか? わたしにはあまり
ぱっとこないもので...
>keiju> ただ, この場合はいいんですが...
>keiju> >keiju> 1..2 + 5..6
>keiju> >keiju> のような, 直和(合併)された集合なども表せると良いですね.
>keiju>
>keiju> 新しいSetはできますが, Loopの定義が...
>keiju> 1,2,5,6
>keiju> と返してくれるLoopを定義するには, Setがどのようにできているか知らない
>keiju> と駄目ですね...
>
>あ、そうですね。
>重ね重ね考えが甘かったです。
>柔軟なループをオブジェクトで表すのは難しいですね。
ですね...
ということでこんなの考えました:
Set -- 立石さんのもの
Range2
EnumerableSet
SelectedESet
JoinedESet
Setは立石さんの案そのままです. selectionメソッドでSelectedESetを生成で
きます.
EnumerableSetはOrderedSetなんですが, 数えあげられるのでEnumerableSetと
しました.
立石さんのLoopはeachを持っているので, ある意味(順序)集合だろうというこ
とで, SelectedESetになっています. さらに, 直和を実現するクラスとして
JoinedESetがあります.
Range3は直接は存在しません.
range3 = range2.selection(range2.min, proc{|x| x + skip})
でrange3相当のSelectedESetが生成できます.
-- ここから
class Set
def initialize(cond = proc) # fはtrue/falseを返すProcオブジェクト
@cond = f
end
def include?(mem)
@cond.call(mem)
end
def selection(first, succ = proc)
SelectedESet.new(first, self, succ)
end
end
class Range2 < Set
def initialize(min,max)
super(proc{|i| min <= i && i <= max})
end
def selection(first = nil, succ = nil)
first = min unless first
unless succ
if proc?
succ = proc
else
succ = proc{|x| x + 1}
end
end
super(first, succ)
end
# Range互換each
def each(&block)
self.selection.each(&block)
end
end
class EnumerableSet
include Enumerable
def +(other)
JoinedESet.new(self, other)
end
end
class SelectedESet < EnumerableSet
def initialize(first, set, succ)
@first = first
@set = set
@succ = succ
end
def each
cur = @first
while cur = succ.call(cur)
yield(cur)
end
end
end
class JoinedESet < EnumerableSet
def initialize(*ary)
@selections = ary
end
def each(&block)
for sel in @selections
sel.each(&block)
end
end
end
__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju@rational.com <<---