[#28501] rb_gc_call_finalizer_at_exit() の実行中かどうかを知りたい — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
6 messages
2006/04/03
[#28502] Re: rb_gc_call_finalizer_at_exit() の実行中かどうかを知りたい
— Yukihiro Matsumoto <matz@...>
2006/04/03
まつもと ゆきひろです
[#28509] Rational — Tadayoshi Funaba <tadf@...>
ふなばです。
49 messages
2006/04/05
[#28510] Re: Rational
— keiju@... (石塚圭樹)
2006/04/05
けいじゅ@いしつかです.
[#28512] Re: Rational
— Tadayoshi Funaba <tadf@...>
2006/04/05
ふなばです。
[#28515] Re: Rational
— keiju@... (石塚圭樹)
2006/04/05
けいじゅ@いしつかです.
[#28522] Re: Rational
— Tadayoshi Funaba <tadf@...>
2006/04/06
ふなばです。
[#28523] Re: Rational
— Yukihiro Matsumoto <matz@...>
2006/04/06
まつもと ゆきひろです
[#28526] Re: Rational
— Tadayoshi Funaba <tadf@...>
2006/04/06
ふなばです。
[#28530] Re: Rational
— Tadayoshi Funaba <tadf@...>
2006/04/09
ふなばです。
[#28513] Re: Rational
— Shin-ichiro HARA <sinara@...>
2006/04/05
原です。
[#28514] Re: Rational
— keiju@... (石塚圭樹)
2006/04/05
けいじゅ@いしつかです.
[#28517] Re: Rational
— Yukihiro Matsumoto <matz@...>
2006/04/06
まつもと ゆきひろです
[#28520] Re: Rational
— keiju@... (石塚圭樹)
2006/04/06
けいじゅ@いしつかです.
[#28521] Re: Rational
— Yukihiro Matsumoto <matz@...>
2006/04/06
まつもと ゆきひろです
[#28525] Re: Rational
— keiju@... (石塚圭樹)
2006/04/06
けいじゅ@いしつかです.
[#28527] Re: Rational
— Shin-ichiro HARA <sinara@...>
2006/04/06
原です。
[#28536] Re: Rational
— Shin-ichiro HARA <sinara@...>
2006/04/10
原です。
[#28537] Re: Rational
— keiju@... (石塚圭樹)
2006/04/10
けいじゅ@いしつかです.
[#28545] Re: Rational
— Shin-ichiro HARA <sinara@...>
2006/04/11
原です。
[#28546] Re: Rational
— Yukihiro Matsumoto <matz@...>
2006/04/11
まつもと ゆきひろです
[#28547] Re: Rational
— keiju@... (石塚圭樹)
2006/04/11
けいじゅ@いしつかです.
[#28548] Re: Rational
— Yukihiro Matsumoto <matz@...>
2006/04/11
まつもと ゆきひろです
[#28563] Proxy authentication patches for open-uri and rubygems — "Tadashi Kadowaki" <tadakado@...>
門脇と申します。
3 messages
2006/04/15
[#28569] rational 1.01 — Shin-ichiro HARA <sinara@...>
原です。
16 messages
2006/04/16
[#28571] Re: rational 1.01
— Tadayoshi Funaba <tadf@...>
2006/04/16
ふなばです。
[#28572] Re: rational 1.01
— Shin-ichiro HARA <sinara@...>
2006/04/16
原です。
[#28573] Re: rational 1.01
— Tadayoshi Funaba <tadf@...>
2006/04/16
ふなばです。
[#28574] Re: rational 1.01
— Shin-ichiro HARA <sinara@...>
2006/04/16
原です。
[#28575] Re: rational 1.01
— Shin-ichiro HARA <sinara@...>
2006/04/17
原です。
[#28576] Re: rational 1.01
— Tadayoshi Funaba <tadf@...>
2006/04/17
ふなばです。
[#28578] Re: rational 1.01
— Tadayoshi Funaba <tadf@...>
2006/04/17
ふなばです。
[#28584] Re: rational 1.01
— Shin-ichiro HARA <sinara@...>
2006/04/18
原です。
[#28589] Float#div and Float#divmod [AGAIN] — Shin-ichiro HARA <sinara@...>
原です。
16 messages
2006/04/23
[#28590] Re: Float#div and Float#divmod [AGAIN]
— Yukihiro Matsumoto <matz@...>
2006/04/23
まつもと ゆきひろです
[#28591] Re: Float#div and Float#divmod [AGAIN]
— Shin-ichiro HARA <sinara@...>
2006/04/23
[#28592] Re: Float#div and Float#divmod [AGAIN]
— Yukihiro Matsumoto <matz@...>
2006/04/23
まつもと ゆきひろです
[ruby-dev:28498] proc & block
From:
Hidetoshi NAGAI <nagai@...>
Date:
2006-04-03 09:53:08 UTC
List:
ruby-dev #28498
永井@知能.九工大です.
現在の Proc オブジェクトはブロックを受け取ることができませんが,
これを受け取ることができるようにすることは難しいでしょうか.
例えば
------------------------------------------------------------------
def foo(a,b,c)
[a, b, c, block_given?]
end
------------------------------------------------------------------
に対して,
------------------------------------------------------------------
x = proc{|m, *args| [block_given?, m.call(*args)] }
x.call(method(:foo), 1,2,3){p 111} #=> [false, [1, 2, 3, false]]
------------------------------------------------------------------
ではブロックを与えることができません.
ブロックを与えることができるようにするためには
------------------------------------------------------------------
def bar(m, *args, &blk)
[block_given?, m.call(*args, &blk)]
end
x = method(:bar)
x.call(method(:foo), 1,2,3){p 111} #=> [true, [1, 2, 3, true]]
------------------------------------------------------------------
というようにメソッドを定義する必要があります.
proc オブジェクトが block 引数を取れるようになれば,
------------------------------------------------------------------
x = proc{|m, *args, &blk| [block_given?, m.call(*args, &blk)] }
x.call(method(:foo), 1,2,3){p 111} #=> [true, [1, 2, 3, true]]
------------------------------------------------------------------
とできて,余計なメソッド定義をしなくて済むのですが...
ただしその場合,現状の
------------------------------------------------------------------
def baz
proc{|*args| [block_given?, *args]}
end
baz.call(1,2,3) #=> [false, 1, 2, 3]
baz{p 111}.call(1,2,3) #=> [true, 1, 2, 3]
------------------------------------------------------------------
という挙動とどう折り合いをつけるかという問題は生じます.
この点についてはまだ考えがまとまっていません.
--
永井 秀利 (九工大 知能情報)
nagai@ai.kyutech.ac.jp