From 6d7b3a7bc9e85d07a9df156593b291c0122f58a4 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 3 Jan 2014 23:57:20 +0900 Subject: mrb_ary_splat() to call #to_a --- src/array.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/array.c b/src/array.c index ec2465be1..69ff00dee 100644 --- a/src/array.c +++ b/src/array.c @@ -849,6 +849,9 @@ mrb_ary_splat(mrb_state *mrb, mrb_value v) if (mrb_array_p(v)) { return v; } + if (mrb_respond_to(mrb, v, mrb_intern_lit(mrb, "to_a"))) { + return mrb_funcall(mrb, v, "to_a", 0); + } else { return mrb_ary_new_from_values(mrb, 1, &v); } -- cgit v1.2.3