[#6214] RE^2: HTML class — 青山 和光 <PXN11625@...>
In-Reply-To: [ruby-list:6118] Re: HTML class
[#6219] Ruby連載 第4話 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
ももちゃん@あるもにこすです.
まつもと ゆきひろです
In message <199802040557.OAA18458@picachu.netlab.co.jp>
まつもと ゆきひろです
In message <199802040739.QAA20750@picachu.netlab.co.jp>
まつもと ゆきひろです
In message <199802040803.RAA24375@picachu.netlab.co.jp>
[#6249] Re: i++ — 助田 雅紀 <masaki.suketa@...>
助田です。
ことけんです
まつもと ゆきひろです
しげひろです.
まつもと ゆきひろです
ももちゃん@あるもにこすです.
まつもと ゆきひろです
ももちゃん@あるもにこすです.
まつもと ゆきひろです
[#6256] pop & smtp-lib.rb — tateishi@... (Takaaki TATEISHI)
立石@理科大です。
[#6272] I'd like to subscribe this ML — INOUE Katsuyuki <inoue@...>
井上勝行 と申します。
[#6279] Re: i++ — 助田 雅紀 <masaki.suketa@...>
助田です。
[#6314] RE: ruby's design policy (Re: I'd like to subscr ibe this ML) — 助田 雅紀 <masaki.suketa@...>
オブジェクト指向周辺をぶらぶらしている助田です。
まつもと ゆきひろです
井上勝行です。
まつもと ゆきひろです
[#6315] install some versions — gotoken@... (GOTO Kentaro)
ごとけんです
[#6333] ruby 流に添削して下さい — nkon@...2.3web.ne.jp
さくです.
さくです.自己フォロー.
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです
わたなべです.
[#6342] Re: ruby's design policy (Re: I'd like to su bscr ibe this ML) — 助田 雅紀 <masaki.suketa@...>
助田です。
[#6372] ruby 1.1b7 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
前田です。
わたなべです.
ふなばです。
まつもと ゆきひろです
ふなばです。
[#6373] call for scripts — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
金城です.
まつもと ゆきひろです
金城です.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
原です。
From: Shin-ichiro HARA <sinara@blade.nagaokaut.ac.jp>
きくたに@ぷ〜たろ〜です。
さくです.
わたなべです.
まつもと ゆきひろです
前田です。
前田です。
まつもと ゆきひろです
前田です。
前田です。
前田です。
前田です。
わたなべです.
けいじゅ@日本ラショナルソフトウェアです.
Regard to "[ruby-list:7447] Re: call for scripts"
> もっと良いものがあるかもしれないと考え,実例集に載せられるよ
sort-schedule.rbで、ちょっと疑問に思っていることがあるのです
ふなばです。
In message <19980222011624S.tadf@kt.rim.or.jp>
前田です。
ふなばです。
[#6422] simple_chat_server — 青山 和光 <PXN11625@...>
In-Reply-To: [ruby-list:6395] Re: call for scripts
[#6447] gsub — Tadayoshi Funaba <tadf@...>
ふなばです。
[#6514] ROT13/47 — OZAWA Sakuro <crouton@...>
小澤さくです.
[#6516] RE^2: simple_chat_server — 青山 和光 <PXN11625@...>
In-Reply-To: [ruby-list:6437] Re: simple_chat_server
まつもと ゆきひろです
class String; def - x; end; end; %-
[#6538] IE favorites to HTML — OZAWA Sakuro <ozawa@...>
小澤さくです。会社からもMLに入っちゃいます。
[#6565] Re: Counter class [Re: i++ ] — toyofuku@...
豊福@パパイヤです。
[#6582] File::Separator on cygwin — OZAWA Sakuro <ozawa@...>
小澤さくです。
わたなべです.
小澤さくです。
けいじゅ@日本ラショナルソフトウェアです.
[#6591] ruby 1.1b8 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
前田です。
けいじゅ@日本ラショナルソフトウェアです.
前田です。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
さくです.
前田です。
小澤さくです。
うさぎの名前ででています:-)
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
[#6601] 8-queen — TAKAHASHI Masayoshi <maki@...>
高橋です。今度ちゃんと1.1b7にします……と書こうとしたら、b8になって
[#6605] true/TRUE false/FALSE nil/NIL — OZAWA Sakuro <crouton@...>
小澤さくです.
前田です。
まつもと ゆきひろです
[#6610] tcltklib dosen't compile — TEI meiki <tei@...>
鄭です。
[#6621] here document — Tadayoshi Funaba <tadf@...>
ふなばです。
[#6635] hello — WATANABE Tetsuya <tetsu@...>
渡辺哲也と申します。
まつもと ゆきひろです
>>>>> "matz" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:
[#6706] Re: Counter class — toyofuku@...
豊福@パパイヤです。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#6735] Mutex/ConditionVariable/Queue — shugo@... (Shugo Maeda)
前田です。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
前田です。
From: shugo@po.aianet.ne.jp (Shugo Maeda)
前田です。
From: shugo@po.aianet.ne.jp (Shugo Maeda)
前田です。
まつもと ゆきひろです
[#6786] Re: Mutex/ConditionVariable/Queue — senda@...
From: shugo@po.aianet.ne.jp (Shugo Maeda)
前田です。
前田です。
前田です。
けいじゅ@日本ラショナルソフトウェアです.
前田です。
In message <199802261520.AAA18702.keiju@cupmail0.rational.com>
前田です。
In message <199802270237.CAA00362@soleil.localnet.or.jp>
前田です。
In message <199802270635.GAA00354@soleil.localnet.or.jp>
[#6819] ruby 1.1b9 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#6829] monitor.rb — shugo@... (Shugo Maeda)
前田です。
[#6830] what is 'octet decimal' — OZAWA Sakuro <crouton@...>
さくです.
[#6852] Counting Semaphore — Kazuhisa YANAGAWA <katze@...>
Counting semaphore をちょっと作ってみました. 見ての通り, コードは
[ruby-list:6701] prime generator [ 8-queen ]
けいじゅ@日本ラショナルソフトウェアです.
In [ruby-list :06601 ] the message: "[ruby-list:6601] 8-queen ", on
Feb/20 20:49(JST) TAKAHASHI Masayoshi writes:
>高橋です。今度ちゃんと1.1b7にします……と書こうとしたら、b8になって
>いるし……。
>
>パズル関係がほしい、ということだったので(どうしてなのでしょうか?)、
>8-queenを作ってみました。生まれてはじめてスレッドを使ってみました(^^)
>が、あんまり意味はないです(^_^; 順列を生成するイテレータを使っている
>のがrubyっぽいかも。
そうですね. 解を求めるのにthreadを用いているとことが目新しいと思います.
8-queenもそうですが, stream列の計算に時間がかかる場合に有効かも知れま
せんね.
[ruby-list:4455]前後あたりで, 豊福@パパイヤさんが作られたエラトステネ
スのふるいをthreadを用いて作り直してみました.
prime-th.rb
prime-th2.rb
prime-th.rbは1つだけthreadを用いています. prime-th.rbは素数の数だけ
threadを生成する例です.
実行してみるとわかりますが, prime-th2.rbはスレッドを大量に生成するせい
かちょっと重いですね.
ところで, このプログラムで変なところがあるのですが...
prime-th.rbでSieve::Filter#succが
def succ
for n in @source
if n % @factor != 0
break
end
end
n
end
となっていますが, これを
def succ
for n in @source
if n % @factor != 0
retuen n
end
end
end
とすると, 動作しなくなります. n==nilでないのにreturn nでnilを返してい
るようです. ちょっと調べてもらえませんでしょうか?
# ruby 1.1b7を使っています.
-- prime-th.rb
require "thread"
module Stream
include Enumerable
def each
loop do
yield succ
end
end
def succ
raise NotImplementError, "need to define `succ'"
end
end
class Sieve
include Stream
QUEUE_MAX = 10
class Counter
include Stream
def initialize(v)
@value = v
end
def succ
@value += 1
return @value - 1
end
def inspect
format("#<Counter: %d >", @value)
end
end
class Filter
include Stream
def initialize(src, f)
@source = src
@factor = f
end
def succ
for n in @source
if n % @factor != 0
break
end
end
n
end
def inspect
format("#<Filter: @factor=%d, @source=%s>", @factor, @source.inspect)
end
end
def initialize
@source = Counter.new(2)
@queue = SizedQueue.new(QUEUE_MAX)
@thread = Thread.start {
loop do
n = @source.succ
@queue.push n
@source = Filter.new(@source, n)
end
}
end
def succ
@queue.pop
end
def inspect
format("#<Sieve: @source=%s>", @source.inspect)
end
end
if ! max = ARGV.shift; max = 100; end
max = max.to_i
primes = Sieve.new
for n in primes
if n > max
break
end
print n, "\n"
end
--ここからprime-th2.rb
require "thread"
module Stream
include Enumerable
def each
loop do
yield succ
end
end
def succ
raise NotImplementError, "need to define `succ'"
end
end
class Sieve
include Stream
QUEUE_MAX = 1000
class Counter
include Stream
def initialize(v)
@value = v
@queue = SizedQueue.new(QUEUE_MAX)
@thread = Thread.start {
loop do
@queue.push @value
@value += 1
end
}
end
def succ
@queue.pop
end
def inspect
format("#<Counter: %d >", @value)
end
end
class Filter
include Stream
def initialize(src, f)
@source = src
@factor = f
@queue = SizedQueue.new(QUEUE_MAX)
@thread = Thread.start {
for n in @source
if n % @factor != 0
@queue.push n
end
end
}
end
def succ
@queue.pop
end
def inspect
format("#<Filter: @factor=%d, @source=%s>", @factor, @source.inspect)
end
end
def initialize
@source = Counter.new(2)
@queue = SizedQueue.new(QUEUE_MAX)
@thread = Thread.start {
loop do
n = @source.succ
@queue.push n
@source = Filter.new(@source, n)
end
}
end
def succ
@queue.pop
end
def inspect
format("#<Sieve: @source=%s>", @source.inspect)
end
end
if ! max = ARGV.shift; max = 100; end
max = max.to_i
primes = Sieve.new
#sleep 10
for n in primes
if n > max
break
end
print n, "\n"
end
__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju@rational.com <<---