[#21157] あったらうれしいメソッド to_n, to_n!, to_s! — ogino@...

荻野です。あったらうれしいメソッドということで書いてみます。

16 messages 2000/03/03

[#21159] メソッドの入り口 — ogino@...

荻野です。もうひとつご指導ください。

93 messages 2000/03/03
[#21170] Re: メソッドの入り口 — Shin-ichiro Hara <sinara@...> 2000/03/03

原です。

[#21243] Re: メソッドの入り口 — keiju@... (石塚圭樹) 2000/03/07

けいじゅ@日本ラショナルソフトウェアです.

[#21247] Re: メソッドの入り口 — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/03/07

[#21267] 引数コピーとオブジェクト指向 (Re: メソッドの入り口) — Hideto ISHIBASHI <s34204@...> 2000/03/08

石橋秀仁です。

[#21272] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/03/08

[#21276] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — nobu.nakada@... 2000/03/09

なかだです。

[#21279] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — ogino@... 2000/03/09

oop未満の世界観の荻野です。

[#21282] Re: 引数コピーとオブジェクト指向 — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp> 2000/03/09

越水です。

[#21285] Re: 引数コピーとオブジェクト指向 — ogino@... 2000/03/10

荻野です。

[#21365] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/13

松尾です。

[#21293] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/10

松尾です。

[#21297] Re: 引数コピーとオブジェクト指向 — ogino@... 2000/03/10

荻野です。

[#21302] Re: 引数コピーとオブジェクト指向 — 土岐 仁謙 <toki@...> 2000/03/10

土岐です。

[#21371] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/13

松尾です。

[#21374] Re: 引数コピーとオブジェクト指向 — TADA Tadashi <sho@...> 2000/03/13

ただただしです。

[#21280] raise non-Exception object — Kenichi Komiya <kom@...3.rim.or.jp>

24 messages 2000/03/09
[#21283] Re: raise non-Exception object — nobu.nakada@... 2000/03/09

なかだです。

[#21315] Re: raise non-Exception object — Kenichi Komiya <kom@...3.rim.or.jp> 2000/03/11

[#21342] Re: raise non-Exception object — nobu.nakada@... 2000/03/12

なかだです。

[#21384] ruby 1.4.4 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

35 messages 2000/03/13

[#21442] 配列内のソート — Takayuki Tanaka <tanaka@...>

こんにちは Tanです。

16 messages 2000/03/15

[#21583] ruby for Web — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

27 messages 2000/03/22
[#21584] Re: ruby for Web — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/03/22

なひです.

[#21649] net-1.1.10 — TAKAHASHI Masayoshi <maki@...>

高橋征義です。net/http 使いたおし中。

17 messages 2000/03/27

[#21669] new version of mod_ruby & eRuby — Shugo Maeda <shugo@...>

前田です。

14 messages 2000/03/28

[ruby-list:21435] Re: [ruby-dev:9436] Re: break from &block

From: matz@... (Yukihiro Matsumoto)
Date: 2000-03-14 17:54:29 UTC
List: ruby-list #21435
まつもと ゆきひろです

In message "[ruby-list:21431] Re: [ruby-dev:9436] Re: break from &block"
    on 00/03/15, Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> writes:

|イテレータでないとき、Proc 内で next, redo, break, retry が
|起きたときの挙動について教えて下さい。
|1.4.3で実験したのですが、次のようになります。
|
| next	Procが終了する
| redo	Procのはじめからもう一度実行される
| break	LocalJumpError "break from proc-closure" 例外
| retry	LocalJumpError "retry from proc-closure" 例外
|
|この動作は仕様というか、あてにしても良いでしょうか?

「イテレータでないとき」とはProcオブジェクトがその生成された
コンテキストを越えて使われたとき、と解釈します。つまり、ブロッ
クを与えたメソッドの内部で使われた場合を除くわけです。

その場合、この挙動は仕様です。

|実はdRubyというライブラリでイテレータを真似しようと試みています。
|こんな感じでいいのでしょうか。
|blockはリモート側のブロック引数に対応したproxy(?)です。Procその
|ものではないので yield が使えません。
|
|            result = obj.__send__(msg.intern, *argv) do |*x|
|              catch_retry = false
|              begin
|                block.call(*x)
|              rescue LocalJumpError
|                if $!.message =~ /^retry/	# retry from proc-closure
|                  catch_retry = true
|                elsif $!.message =~ /^break/	# break from proc-closure
|                  break
|		else
|		  # raise $!
|                end
|              end
|              retry if catch_retry		
|            end

うーん、はっきり言って自信は無いのですが、なんとなく問題なさ
そうな気がします。あ、でも、これだとmsgがいつもブロック付き
で呼ばれることになるんじゃ無いんですかね。msgに対応するメソッ
ドが内部で iterator? なんかで条件判断してると正しく動作しな
いかも。

|# あれ? ブロックの脱出の類って break, next, redo, retry だけ
|# 真似できればいいのかしら…。

あとは例外、catch/throwがありますが、これは特に対応しなくて
も良さそうですね。
                                まつもと ゆきひろ /:|)

In This Thread