[#38371] Re: [ruby-cvs:30538] Ruby:r23320 (trunk): * lib/set.rb (SortedSet#add): Do not let an uncomparable object — "Yugui (Yuki Sonoda)" <yugui@...>
Yuguiです。
At Mon, 4 May 2009 23:44:22 +0900,
遠藤です。
At Fri, 8 May 2009 02:00:10 +0900,
[#38372] making install-sh more descriptive — "Yugui (Yuki Sonoda)" <yugui@...>
install-shが空になって久しい(r520)です。
[#38382] [Bug #1442] indentation check and coverage for toplevel do not work — Yusuke Endoh <redmine@...>
Bug #1442: indentation check and coverage for toplevel do not work
[#38390] [Bug:1.8] Tempfile and extended Enumerable — Tanaka Akira <akr@...>
1.8.8dev で、以下のように、Enumerable に each2 を定義し、
[#38392] Enumerable#gather_each — Tanaka Akira <akr@...>
ときに、複数行をまとめて扱いたいことがあります。
ujihisaと申します。
まつもと ゆきひろです
At Sun, 10 May 2009 06:00:08 +0900,
In article <E1M2t0u-0000Aa-Sd@x61.netlab.jp>,
まつもと ゆきひろです
In article <E1M4oSd-00005c-WB@x61.netlab.jp>,
In article <873ab3531u.fsf@fsij.org>,
まつもと ゆきひろです
At Sat, 9 May 2009 15:30:20 +0900,
In article <86r5yy2nrg.knu@iDaemons.org>,
At Sun, 10 May 2009 10:08:47 +0900,
In article <86ocu132gq.knu@iDaemons.org>,
At Sun, 10 May 2009 15:57:33 +0900,
In article <86my9l2tts.knu@iDaemons.org>,
Haskell の groupBy と Python の groupby が似ている、という話
遠藤です。
In article <e0b1e5700905140800y6d701c6fj731a59ffd83b9d79@mail.gmail.com>,
[#38423] longlife gc — Narihiro Nakamura <authornari@...>
nariと申します.
[#38446] [Bug:1.9] exact Time and inexact Time — Yusuke ENDOH <mame@...>
遠藤です。
In article <e0b1e5700905132145i32bed2f0y80faef19c119824f@mail.gmail.com>,
遠藤です。
[#38463] SQLiteライブラリ — "NARUSE, Yui" <naruse@...>
成瀬です。
[#38486] [Bug #1483] some commands installed without program-suffix — Kazuhiro NISHIYAMA <redmine@...>
Bug #1483: some commands installed without program-suffix
[#38493] [Feature:trunk] enhancement of Array#drop — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
[#38518] [Bug:1.9] Enumerator.new { }.take(1).inject(&:+) causes stack overflow — Yusuke ENDOH <mame@...>
遠藤です。
[#38524] [Bug #1503] -Kuをつけた時、/[#{s}]/n と Regexp.new("[#{s}]",nil,"n") で実行結果が異なる — sinnichi eguchi <redmine@...>
Bug #1503: -Kuをつけた時、/[#{s}]/n と Regexp.new("[#{s}]",nil,"n") で実行結果が異なる
[ruby-dev:38523] Re: [Bug:1.9] Enumerator.new { }.take(1).inject(&:+) causes stack overflow
遠藤です。 2009/05/22 5:39 SASADA Koichi <ko1@atdot.net>: > Yusuke ENDOH wrote:: >> そこで、以下のように、yielder_new_i で proc メソッドを呼ぶことで >> バグは直りました。 > > 似たような話なんですが,そもそも rb_iterate を使う場面じゃなさそうな. 確かに。ささださんのパッチでも直ることを確認しました。 > 例えば,rb_iterate は obsolete にしてしまって(制限付きで存在), > rb_block_call を使うようにして下さい,とドキュメントするのはどんなもんで > しょうか. なるほど、rb_block_call は必ずメソッドを呼び出すから大丈夫 なんですね。 ドキュメント修正案のパッチです。 Index: README.EXT =================================================================== --- README.EXT (revision 23508) +++ README.EXT (working copy) @@ -1159,11 +1159,22 @@ ** Control Structure - VALUE rb_iterate(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *arg2) + VALUE rb_block_call(VALUE recv, ID mid, int argc, VALUE * argv, + 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. + + [OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *arg2) + Calls the function func1, supplying func2 as the block. func1 will be called with the argument arg1. func2 receives the value from yield as the first argument, arg2 as the second argument. + +When rb_iterate is used in 1.9, func1 has to call some Ruby-level method. +This function is obsolete since 1.9; use rb_block_call instead. VALUE rb_yield(VALUE val) Index: README.EXT.ja =================================================================== --- README.EXT.ja (revision 23508) +++ README.EXT.ja (working copy) @@ -1258,11 +1258,22 @@ ** 制御構造 -VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2) +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を受け取る. + +[OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2) + func2をブロックとして設定し, func1をイテレータとして呼ぶ. func1には arg1が引数として渡され, func2には第1引数にイテレー タから与えられた値, 第2引数にarg2が渡される. + + 1.9でrb_iterateを使う場合は, func1の中でRubyレベルのメソッド + を呼び出さなければならない. + 1.9でobsoleteとなった. 代わりにrb_block_callが用意された. VALUE rb_yield(VALUE val) -- Yusuke ENDOH <mame@tsg.ne.jp>