[#19261] lstripped here-document (Re: comments and continuing strings on the next line) — nobu.nakada@...
なかだです。
29 messages
2003/01/01
[#19360] Re: lstripped here-document (Re: comments and continuing strings on the next line)
— "K.Kosako" <kosako@...>
2003/01/15
nobu.nakada@nifty.ne.jpさんの
[#19361] Re: lstripped here-document (Re: comments and continuing strings on the next line)
— "NAKAMURA, Hiroshi" <nakahiro@...>
2003/01/15
なひです。
[#19364] Re: lstripped here-document (Re: comments and continuing strings on the next line)
— nobu.nakada@...
2003/01/17
なかだです。
[#19366] Re: lstripped here-document (Re: comments and continuing strings on the next line)
— "NAKAMURA, Hiroshi" <nakahiro@...>
2003/01/17
なひです。
[#19387] standard ruby lib coding convension (was Re: lstripped here-document)
— "NAKAMURA, Hiroshi" <nakahiro@...>
2003/01/20
なひです。
[#19395] Re: standard ruby lib coding convension (was Re: lstripped here-document)
— "NAKAMURA, Hiroshi" <nakahiro@...>
2003/01/20
camelCaseなひです。
[#19398] Re: standard ruby lib coding convension (was Re: lstripped here-document)
— matz@... (Yukihiro Matsumoto)
2003/01/20
まつもと ゆきひろです
[#19287] Re: Class.inherited — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
4 messages
2003/01/02
[#19299] [BUG] errno == 0 — Kazuhiro Yoshida <moriq@...>
もりきゅうです。win32だけかもしれません。
22 messages
2003/01/04
[#19301] Re: [BUG] errno == 0
— "U.Nakamura" <usa@...>
2003/01/04
こんにちは、なかむら(う)です。
[#19302] Re: [BUG] errno == 0
— "U.Nakamura" <usa@...>
2003/01/04
こんにちは、なかむら(う)です。
[#19303] Re: [BUG] errno == 0
— "U.Nakamura" <usa@...>
2003/01/04
こんにちは、なかむら(う)です。
[#19304] Re: [BUG] errno == 0
— "U.Nakamura" <usa@...>
2003/01/04
こんにちは、なかむら(う)です。
[#19306] Re: [BUG] errno == 0
— nobu.nakada@...
2003/01/05
なかだです。
[#19307] Re: [BUG] errno == 0
— "U.Nakamura" <usa@...>
2003/01/05
こんにちは、なかむら(う)です。
[#19308] Re: [BUG] errno == 0
— nobu.nakada@...
2003/01/05
なかだです。
[#19324] Re: [BUG] errno == 0
— "U.Nakamura" <usa@...>
2003/01/09
こんにちは、なかむら(う)です。
[#19325] Re: [BUG] errno == 0
— nobu.nakada@...
2003/01/09
なかだです。
[#19327] Re: [BUG] errno == 0
— "U.Nakamura" <usa@...>
2003/01/09
こんにちは、なかむら(う)です。
[#19333] Re: [BUG] errno == 0
— "U.Nakamura" <usa@...>
2003/01/09
こんにちは、なかむら(う)です。
[#19336] Re: [BUG] errno == 0
— nobu.nakada@...
2003/01/09
なかだです。
[#19338] Re: [BUG] errno == 0
— "U.Nakamura" <usa@...>
2003/01/09
こんにちは、なかむら(う)です。
[#19309] Re: [ruby-cvs] ruby, ruby/ext: * ext/extmk.rb (extmake): set $0 temporarily while loading — WATANABE Hirofumi <eban@...>
わたなべです。
6 messages
2003/01/05
[#19310] Re: [ruby-cvs] ruby, ruby/ext: * ext/extmk.rb (extmake): set $0 temporarily while loading
— nobu.nakada@...
2003/01/05
なかだです。
[#19317] [patch] cast for st_*. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
6 messages
2003/01/09
[#19328] [Ruby/DL] 'S', 's' — WATANABE Hirofumi <eban@...>
わたなべです。
5 messages
2003/01/09
[#19329] [Ruby/DL] Bignum to ... — WATANABE Hirofumi <eban@...>
わたなべです。
6 messages
2003/01/09
[#19332] Re: [Ruby/DL] Bignum to ...
— Takaaki Tateishi <ttate@...>
2003/01/09
At Thu, 9 Jan 2003 16:30:59 +0900,
[#19370] shebang line of bin/* — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
7 messages
2003/01/17
[#19371] dbm.so + Berkeley DB[234] — akira yamada / やまだあきら <akira@...>
5 messages
2003/01/17
[#19405] Re: cannot find -lruby-static (PR#384) — WATANABE Hirofumi <eban@...>
わたなべです。
9 messages
2003/01/21
[#19407] Re: cannot find -lruby-static (PR#384)
— nobu.nakada@...
2003/01/21
なかだです。
[#19408] Re: cannot find -lruby-static (PR#384)
— nobu.nakada@...
2003/01/21
なかだです。
[#19410] [] 内での \001 のマッチ — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
10 messages
2003/01/22
[#19411] Re: [] 内での \001 のマッチ
— matz@... (Yukihiro Matsumoto)
2003/01/22
まつもと ゆきひろです
[#19423] Numeric#quo — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
6 messages
2003/01/23
[#19430] HAVE_* macros — "Akinori MUSHA" <knu@...>
拡張ライブラリで 1.6/1.8 に両対応する際、以下のようなマクロが
10 messages
2003/01/24
[#19431] Re: HAVE_* macros
— matz@... (Yukihiro Matsumoto)
2003/01/24
まつもと ゆきひろです
[#19433] Re: HAVE_* macros
— "Akinori MUSHA" <knu@...>
2003/01/24
At Fri, 24 Jan 2003 22:08:48 +0900,
[#19437] recursive dryrun (Re: [ruby-cvs] ruby, ruby/ext, ruby/win32, ruby/bcc32: * instruby.rb, ext/extmk.rb, Makefile.in, win32/Makefile.sub,) — nobu.nakada@...
なかだです。
6 messages
2003/01/25
[#19441] Integer#gcd — masaki <GEC01122@...>
11 messages
2003/01/26
[#20244] Re: Integer#gcd
— matz@... (Yukihiro Matsumoto)
2003/05/20
まつもと ゆきひろです
[#20246] Re: Integer#gcd
— Shin-ichiro HARA <sinara@...>
2003/05/20
原です。
[ruby-dev:19286] Re: ruby-1.8.0 / yield(nil)とyield()の
From:
Tanaka Akira <akr@...17n.org>
Date:
2003-01-02 05:08:15 UTC
List:
ruby-dev #19286
In article <F0F3DFDB-1DDD-11D7-9337-000393814512@mva.biglobe.ne.jp>,
Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> writes:
> 不安定というのは仕様がですか?
> それとも挙動が不安定なのでしょうか?
たぶん、仕様が。誰も使ってないところは不安定なものです。
> ふむむ。実現できたらいいなあ。
> いまのRubyが持ってるしかけでやるにはどうしたらいいんだろう。
> ちょっと考えてみます。
> ブロックの内でbreakやretryが行われたことを知るにはどうしたら
> いいんだろう。またそれをサーバに伝えるには…
ケチをつけるばかりなのもなんなのでちょっと書いてみました。
よーするに break/retry で適切な所に飛ぶのは Ruby にまかせれば break と
retry を区別しなくてもすむというだけの話ですが。
require 'thread'
def f(arg)
yield arg + 1
end
def server_stub
s2c = Queue.new
c2s = Queue.new
Thread.new {
com = [:shrink]
catch(:shrink) {
begin
methodname, args = c2s.deq
ret = send(methodname, *args) {|a|
s2c.enq [:yield, a]
case (d = c2s.deq).first
when :next
next d.last
when :shrink
throw :shrink
end
}
com = [:return, ret]
ensure
s2c.enq com
end
}
}
return s2c, c2s
end
def client_stub(*args)
s2c, c2s = server_stub
c2s.enq [:f, args]
while true
d = s2c.deq
case d.first
when :yield
com = [:shrink]
begin
val = yield d.last
com = [:next, val]
ensure
c2s.enq com
s2c.deq if com.first == :shrink
end
when :return
break d.last
end
end
end
p client_stub(10) {|a| p :x; break }
client_stub(10) {|a| p :y; retry } # infinite loop
それはそれとして、これを書いて気がついたんですが、retry の挙動が変な気
がします。
% ruby -e '
def f
p 0
loop {
p 1
yield
}
end
f { p 2; retry }'
0
1
2
1
2
1
2
1
2
1
...
というように、retry で f でなくて loop が再起動される(0 が最初の一回し
か出て来ない)のは意図されていないんじゃないかと思います。
(まぁ、だれも使ってないだろうけど。)
--
[田中 哲][たなか あきら][Tanaka Akira]