summaryrefslogtreecommitdiffhomepage
path: root/src/array.c
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-05-24 01:20:33 +0900
committerYukihiro Matsumoto <[email protected]>2012-05-24 01:20:33 +0900
commitcd713836aa027e2be95d90eca4b9f78bbc5a5029 (patch)
tree1d720333908086d4105c62fda5d317c6ddb0b06f /src/array.c
parentad9e841c5359efdd37a132767e03ad7a2d5ae72e (diff)
downloadmruby-cd713836aa027e2be95d90eca4b9f78bbc5a5029.tar.gz
mruby-cd713836aa027e2be95d90eca4b9f78bbc5a5029.zip
simplify Array#join
Diffstat (limited to 'src/array.c')
-rw-r--r--src/array.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/array.c b/src/array.c
index 37f1474df..7b486430f 100644
--- a/src/array.c
+++ b/src/array.c
@@ -917,22 +917,10 @@ mrb_ary_join(mrb_state *mrb, mrb_value ary, mrb_value sep)
static mrb_value
mrb_ary_join_m(mrb_state *mrb, mrb_value ary)
{
- mrb_value *argv;
- int argc;
-
- mrb_get_args(mrb, "*", &argv, &argc);
- switch(argc) {
- case 0:
- return mrb_ary_join(mrb, ary, mrb_nil_value());
-
- case 1:
- return mrb_ary_join(mrb, ary, argv[0]);
-
- default:
- mrb_raise(mrb, E_ARGUMENT_ERROR, "wrong number of arguments");
- }
+ mrb_value sep = mrb_nil_value();
- return mrb_nil_value(); /* dummy */
+ mrb_get_args(mrb, "|o", &sep);
+ return mrb_ary_join(mrb, ary, sep);
}
static mrb_value