From c6820cc3bea5476f605a51e38c1207d266f45ff6 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 11 Jul 2010 12:20:28 +0000 Subject: * README.EXT{,.ja} (rb_block_call): fixed about third/fourth arguments to the block. based on [ruby-core:31192] by Asher Haig. [Bug #3558] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ README.EXT | 10 +++++++--- README.EXT.ja | 9 ++++++--- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index de95a04b84..6eff28019a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sun Jul 11 21:20:27 2010 Nobuyoshi Nakada + + * README.EXT{,.ja} (rb_block_call): fixed about third/fourth + arguments to the block. based on [ruby-core:31192] by Asher + Haig. [Bug #3558] + Sun Jul 11 17:01:57 2010 Nobuyoshi Nakada * Makefile.in ({,dist-,real-}clean-ext): should also omit diff --git a/README.EXT b/README.EXT index 30269eb74f..025b035381 100644 --- a/README.EXT +++ b/README.EXT @@ -1167,9 +1167,13 @@ Sets the value of the instance variable. VALUE (*func) (ANYARGS), VALUE data2) Calls a method on the recv, with the method name specified by the -symbol mid, supplying func as the block. func will receive the -value from yield as the first argument, data2 as the second, and -argc/argv as the third/fourth arguments. +symbol mid, with argc arguments in argv, supplying func as the +block. When func is called as the block, it will receive the value +from yield as the first argument, and data2 as the second argument. +When yielded with multiple values (in C, rb_yield_values(), +rb_yield_values2() and rb_yield_splat()), data2 is packed as an Array, +whereas yielded values can be gotten via argc/argv of the third/fourth +arguments. [OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *arg2) diff --git a/README.EXT.ja b/README.EXT.ja index c35de7d42d..dae0d24b43 100644 --- a/README.EXT.ja +++ b/README.EXT.ja @@ -1260,9 +1260,12 @@ VALUE rb_iv_set(VALUE obj, const char *name, VALUE val) VALUE rb_block_call(VALUE obj, ID mid, int argc, VALUE * argv, VALUE (*func) (ANYARGS), VALUE data2) - funcをブロックとして設定し, objをレシーバ, argcとargvを引 - 数としてmidメソッドを呼び出す. funcは第一引数にyieldされた - 値, 第二引数にdata2, 第三, 第四引数にargcとargvを受け取る. + funcをブロックとして設定し,objをレシーバ,argcとargvを引数 + としてmidメソッドを呼び出す.funcは第一引数にyieldされた値, + 第二引数にdata2を受け取る.複数の値がyieldされた場合(Cでは + rb_yield_values()とrb_yield_values2(), rb_yield_splat()), + data2はArrayとしてパックされている.第三, 第四引数のargcと + argvによってyieldされた値を取り出すことができる. [OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2) -- cgit v1.2.3