[#32171] autoload_delete — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
[#32185] Date#+に大きな数字を与えるとおかしな日付に — "madoka yamamoto" <yamamotomadoka@...>
こんにちは、山本と申します。
> Dateオブジェクトに+で大きな数字を与えるとおかしくなるようです。
山本です。
> アルゴリズムの意味がわからないで書いた、表層的なパッチなので
Hi,
> 1.9ではRationalとComplexを組み込みに、という話はありましたが、
原です。
ささだです.
[#32192] test-all results - ruby 1.9.0 (2007-11-09 patchlevel 0) [i686-linux] — SASADA Koichi <ko1@...>
ささだです.
[#32198] [提案] Array#tail — "Yusuke ENDOH" <mame@...>
遠藤と申します。
まつもと ゆきひろです
西山と申します
遠藤です。
[#32204] yydebug — Nobuyoshi Nakada <nobu@...>
なかだです。
[#32205] Use two pipes for duplex IO.popen — Tanaka Akira <akr@...>
改心して duplex な IO.popen で socketpair を使うのはやめよう
なかだです。
In article <20071111120021.7f0592e5.nobu@ruby-lang.org>,
[#32206] Integer#ord for 1.8 — Tanaka Akira <akr@...>
1.9 と 1.8 の両方で ?a.ord で 97 が得られるように、1.8 に
[#32219] trunkでビルド失敗 — KIMURA Koichi <kimura.koichi@...>
木村です。
[#32247] round missing (mswin32) — KIMURA Koichi <kimura.koichi@...>
木村です。
[#32263] toplevel irb method — SASADA Koichi <ko1@...>
ささだです.
まつもと ゆきひろです
[#32266] version string — SASADA Koichi <ko1@...>
ささだです.
[#32268] RFLOAT_VALUE(val), DOUBLE2NUM(dbl) — SASADA Koichi <ko1@...>
ささだです.
SASADA Koichi wrote:
[#32306] nanosecond Time and stat — Tanaka Akira <akr@...>
最近、nanosecond 単位な timestamp があるようです。
In article <874pflntd5.fsf@fsij.org>,
まつもと ゆきひろです
In article <E1Iu2GD-0004Wh-1I@x31>,
[#32308] core dump with undef/alias using dynamic symbols — Tadashi Saito <shiba@...2.accsnet.ne.jp>
斎藤と申します。
遠藤と申します。
ささだです.
遠藤です。
ささだです.
[#32329] enumerator with single array and multiple arguments. — Tanaka Akira <akr@...>
enumerator を通すとひとつの配列と複数の引数が区別できません。
[#32330] defined?($&) — Tanaka Akira <akr@...>
ふと気がついたんですが、defined?($&) が "expression" になり
まつもと ゆきひろです
まつもと ゆきひろです
ささだです.
[#32333] test/ruby/test_eval.rb — SASADA Koichi <ko1@...>
ささだです.
まつもと ゆきひろです
ささだです.
まつもと ゆきひろです
[#32348] DRb test leaves ut_eval.rb process — Tanaka Akira <akr@...>
DRb のテストをすると、(テストがいろいろと失敗する他に) プロ
[#32352] 1.9.1のリリース時期について — KIMURA Koichi <hogemuta@...>
木村です。
まつもと ゆきひろです
木村です。
まつもと ゆきひろです
[#32403] Next 1.8.6 patch release? (was Re: 1.9.1のリリース時期について) — Takahiro Kambe <taca@...>
こんばんは。
卜部です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
成瀬です。
卜部です。
遠藤と申します。
遠藤です。
ささだです.
まつもと ゆきひろです
[#32404] SEGV on child process by fork on GC.stress. — Tanaka Akira <akr@...>
GC.stress = true 下で fork すると子プロセスが SEGV します。
まつもと ゆきひろです
In article <E1Iy7HA-0006zn-37@x31>,
まつもと ゆきひろです
ささだです.
[#32409] Re: [ruby-cvs:21293] Ruby:r14056 (trunk): * signal.c (trap_signm): SIGVTALRM no longer used for green — SASADA Koichi <ko1@...>
ささだです.
さとうふみやす @ OSS テクノロジです。
ささだです.
まつもと ゆきひろです
[ruby-dev:32389] Re: enumerator with single array and multiple arguments.
ささだです.
Tanaka Akira wrote:
> enumerator を通すとひとつの配列と複数の引数が区別できません。
こんな感じでどうでしょうか.rb_iterate で積む C で書いたブロック呼
び出し関数で,1.8 だと self を渡していたところを,引数の数を渡すよう
にしてみました.誰も self 使ってないからいいかなぁ,と.
Index: include/ruby/ruby.h
===================================================================
--- include/ruby/ruby.h (リビジョン 14039)
+++ include/ruby/ruby.h (作業コピー)
@@ -772,6 +772,7 @@
VALUE rb_each(VALUE);
VALUE rb_yield(VALUE);
VALUE rb_yield_values(int n, ...);
+VALUE rb_yield_values2(int n, VALUE *argv);
VALUE rb_yield_splat(VALUE);
int rb_block_given_p(void);
void rb_need_block(void);
Index: enumerator.c
===================================================================
--- enumerator.c (リビジョン 14039)
+++ enumerator.c (作業コピー)
@@ -225,6 +225,17 @@
}
static VALUE
+enumerator_each_i(VALUE v, VALUE enum_obj, int argc)
+{
+ if (argc == 1) {
+ return rb_yield(v);
+ }
+ else {
+ return rb_yield_values2(argc, RARRAY_PTR(v));
+ }
+}
+
+static VALUE
enumerator_init(VALUE enum_obj, VALUE obj, VALUE meth, int argc,
VALUE *argv)
{
struct enumerator *ptr = enumerator_ptr(enum_obj);
@@ -235,7 +246,7 @@
ptr->iter = enumerator_iter_i;
}
else {
- ptr->iter = (enum_iter *)rb_yield;
+ ptr->iter = (enum_iter *)enumerator_each_i;
}
if (argc) ptr->args = rb_ary_new4(argc, argv);
ptr->fib = 0;
Index: eval.c
===================================================================
--- eval.c (リビジョン 14039)
+++ eval.c (作業コピー)
@@ -953,6 +953,12 @@
}
VALUE
+rb_yield_values2(int argc, VALUE *argv)
+{
+ return rb_yield_0(argc, argv);
+}
+
+VALUE
rb_yield_splat(VALUE values)
{
VALUE tmp = rb_check_array_type(values);
Index: insnhelper.ci
===================================================================
--- insnhelper.ci (リビジョン 14039)
+++ insnhelper.ci (作業コピー)
@@ -661,7 +661,7 @@
self, (VALUE)block->dfp,
0, th->cfp->sp, block->lfp, 1);
- val = (*ifunc->nd_cfnc) (arg, ifunc->nd_tval, Qnil);
+ val = (*ifunc->nd_cfnc) (arg, ifunc->nd_tval, argc);
th->cfp++;
return val;
--
// SASADA Koichi at atdot dot net