[#31166] is_ruby_native_thread() — Masahiro Sakai (酒井政裕) <masahiro.sakai@...>

酒井です。

16 messages 2007/07/08
[#31269] Re: is_ruby_native_thread() — Nobuyoshi Nakada <nobu@...> 2007/07/21

なかだです。

[#31270] Re: is_ruby_native_thread() — Hidetoshi NAGAI <nagai@...> 2007/07/22

永井@知能.九工大です.

[#31298] retryの使い方 — eklerni <eklerni@...>

松尾といいます。

52 messages 2007/07/25
[#31299] Re: retryの使い方 — SASADA Koichi <ko1@...> 2007/07/26

 ささだです。

[#31300] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/26

松尾です、返信ありがとうございます。

[#31303] Re: retryの使い方 — Yugui <yugui@...> 2007/07/26

Yuguiといいます。

[#31306] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/26

松尾といいます。

[#31308] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/07/26

In article <46A909DD.1070405@for.mail-box.ne.jp>,

[#31310] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/26

Tanaka Akira さんは書きました:

[#31314] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/07/30

In article <46A92530.80507@for.mail-box.ne.jp>,

[#31315] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/30

Tanaka Akira さんは書きました:

[#31316] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/07/30

In article <46AD7A16.8080509@for.mail-box.ne.jp>,

[#31317] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/31

松尾です。

[#31381] Re: retryの使い方 — SASADA Koichi <ko1@...> 2007/08/12

 ささだです。

[#31422] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/15

まつもと ゆきひろです

[#31425] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/15

In article <E1ILDTi-0005T6-Be@x31>,

[#31426] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/15

まつもと ゆきひろです

[#31433] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/16

In article <E1ILKn6-0003Nv-0f@x31>,

[#31435] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/16

まつもと ゆきひろです

[#31447] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/16

In article <E1ILVN9-0006xJ-7I@x31>,

[#31450] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/17

In article <E1ILq4x-0002Bs-Lg@x31>,

[#31451] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/17

まつもと ゆきひろです

[ruby-dev:31308] Re: retryの使い方

From: Tanaka Akira <akr@...>
Date: 2007-07-26 21:46:08 UTC
List: ruby-dev #31308
In article <46A909DD.1070405@for.mail-box.ne.jp>,
  eklerni <eklerni@for.mail-box.ne.jp> writes:

> 前回のはwhileを使わずにwhileを定義するにはretryが必要、という要旨の発言
> ですが、

でも、while は実際にあるんですから、while をユーザが定義する
必要はありません。元からある while を使えばいいんです。

つまり while それ自体は、ユーザが定義できたからって実際のプ
ログラミングで役に立つわけではないんです。

なので、while ではない異なるものを定義するのに retry が欲し
くなる例を尋ねさせていただきました。

で、その例ですが、

> 実際にretryがあったほうがうれしい場面を考えてみると、たとえば
>
> def foo
> while 条件
> yield #ループ本体(Y)
> end
> #なんらかの処理(A)
> end
>
> みたいなメソッドを書いたときに、yieldとyieldの間と#なんらかの処理(A)の後で
> 共通の#後処理(B)をしたいとします。(Y)(B)..(Y)(B)(Y)(A)(B)みたいに。すると
>
> def foo
> while 条件
> #後処理 if 二回目のループからtrueになるフラッグ
> yield
> end
> #なんらかの処理
> #後処理
> end
>
> みたいになって、#後処理のコードが分かれちゃうんですが、retryを使えば
>
> def foo
> yield
> retry if 条件
> #なんらかの処理
> ensure
> #後処理
> end
>
> とロジックがすっきりする場面もあります。

foo には引数がないので、retry の奇妙な点であるところの実引数
の評価から再開される、という部分が使われていませんが、実引数
が再評価されることは不要ですか?
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread