[#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:31314] Re: retryの使い方

From: Tanaka Akira <akr@...>
Date: 2007-07-30 03:42:57 UTC
List: ruby-dev #31314
In article <46A92530.80507@for.mail-box.ne.jp>,
  eklerni <eklerni@for.mail-box.ne.jp> writes:

> 人工的な例ですが、
>
> 「取得するたびに値の変わっていくローカル変数(big)を引数にとり、一秒間隔
> でその変数を使って
> なんかするメソッド(foo)をつくりたいとする。ただしメソッド定義内部(と実
> 引数部)に直接変数名bigを書き込むような
> ことはしたくない。」
>
> retryを使うとこんな感じになります。↓
>
> big = 0
> Thread.new{loop{sleep 0.7;big += 1}} #big の時間変化
>
> def foo(n)
> sleep(1)
> yield n
> retry
> end
>
> foo(big){|n|p n} #=>1,2,4,5,...

それなら retry を使わなくてもブロックの中で big を参照すれば
いいのではありませんか?

% ruby -e '
big = 0
Thread.new{loop{sleep 0.7;big += 1}}

def foo
  while true
    sleep 1
    yield
  end
end

foo { p big }
'
1
2
4
5
7
...

メソッドの引数の評価からやり直す retry が役に立つと思える例
はないんでしょうか。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread