[#20127] protected_instance_methods(true) — Shin-ichiro HARA <sinara@...>
原です。
4 messages
2003/05/01
[#20163] Numeric#step — Koji Arai <JCA02266@...>
新井です。
13 messages
2003/05/05
[#20165] Re: Numeric#step
— Minero Aoki <aamine@...>
2003/05/05
青木です。
[#20167] Re: Numeric#step
— Koji Arai <JCA02266@...>
2003/05/05
新井です。
[#20169] Re: Numeric#step
— Minero Aoki <aamine@...>
2003/05/05
青木です。
[#20171] Re: Numeric#step
— Koji Arai <JCA02266@...>
2003/05/05
新井です。
[#20172] Re: Numeric#step
— Masahiro TANAKA <masa@...>
2003/05/06
At Tue, 6 May 2003 02:55:54 +0900,
[#20197] ARGF.filename — Koji Arai <JCA02266@...>
新井です。
6 messages
2003/05/17
[#20209] /()*\1/ =~ "" — Tanaka Akira <akr@...17n.org>
元ネタは BTS および Matzにっきなのですが、Matzにっきの調子が悪くてつっ
5 messages
2003/05/19
[#20227] dyna_vars problem? — Tanaka Akira <akr@...17n.org>
しばらく前から、稀に Ruby が core を吐くという問題を追いかけているので
15 messages
2003/05/19
[#20234] Re: dyna_vars problem?
— matz@... (Yukihiro Matsumoto)
2003/05/19
まつもと ゆきひろです
[#20236] Re: dyna_vars problem?
— Tanaka Akira <akr@...17n.org>
2003/05/19
In article <1053363181.529491.30320.nullmailer@picachu.netlab.jp>,
[#20245] Re: dyna_vars problem?
— matz@... (Yukihiro Matsumoto)
2003/05/20
まつもと ゆきひろです
[#20248] Re: dyna_vars problem?
— Tanaka Akira <akr@...17n.org>
2003/05/20
In article <1053422521.786672.22712.nullmailer@picachu.netlab.jp>,
[#20250] Re: dyna_vars problem?
— matz@... (Yukihiro Matsumoto)
2003/05/20
まつもと ゆきひろです
[#20251] Re: dyna_vars problem?
— Tanaka Akira <akr@...17n.org>
2003/05/20
In article <1053424909.383731.24667.nullmailer@picachu.netlab.jp>,
[#20255] Re: dyna_vars problem?
— matz@... (Yukihiro Matsumoto)
2003/05/20
まつもと ゆきひろです
[#20268] splat restary — nobu.nakada@...
なかだです。
5 messages
2003/05/21
[#20303] [Oniguruma] possessive quantifier — kkosako@...
強欲な繰り返し演算子を実装してみたんですが、
1 message
2003/05/28
[#20307] [Oniguruma] intersection of char class — kkosako@...
Javaの正規表現で実現されている
4 messages
2003/05/30
[ruby-dev:20179] Re: (1.8.0-preview2) Proc#call
From:
m_seki@...
Date:
2003-05-07 22:35:13 UTC
List:
ruby-dev #20179
咳といいます。
> > |ちなみに引数付きのbreakはどのように振舞うのですか?
> >
> > Proc#yieldは、breakに対して
> >
> > if blockがorphan:
> > 例外LocalJumpErrorを発生。breakの引数は
> > LocalJumpError#exitstatusメソッドで取得できる。
> > # でも今思えばこの名前はまずいな。exitvalueとかかな。
> > else:
> > (yieldメソッドではなく)ブロックが付随しているメソッド呼
> > び出しを中断する
> >
> > となっています。
>
> ためしてみました。
>
> よく考えたら、ちょっと前の1.8から期待した状況で例外が発生していた気がします。
> だめだと思ってた引数付きのbreakも、現在の1.8でうまく動くようにできました。
Proc#yieldのパラメータも確認しました。
結果: うまくいってます。
パラメータを *x でうけて *x で渡すことで普通のyieldと同じように
動作しました。
# こんな感じ
obj.__send__(msg_id, *argv) do |*x|
block.yield(*x)
end
LocalJumpErrorの理由(break, retryなど)を知るには、LocalJumpErrorの
messageを元に調べています。
もっと安心できる方法はあるでしょうか?
たとえば、問い合わせるメソッドがあるとか、原因別に発生する例外の
クラスが異なるとか…。
def foo(local_jump_error)
case local_jump_error).message
when /^retry/
return :retry
when /^break/
return :break, local_jump_error.exitstatus
else
return :other
end
end