diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-05-18 15:01:45 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-05-18 15:01:45 +0900 |
| commit | 2728f302976573f13b6942cc426fb840f597cb61 (patch) | |
| tree | 34bee7166d811c1a47da42146e672fb4d9e243cb | |
| parent | f7406435f371c6607e80e58777e76efd08d32dd0 (diff) | |
| download | mruby-2728f302976573f13b6942cc426fb840f597cb61.tar.gz mruby-2728f302976573f13b6942cc426fb840f597cb61.zip | |
implement Kernel#p in Ruby
| -rw-r--r-- | mrblib/print.rb | 15 | ||||
| -rw-r--r-- | src/print.c | 15 |
2 files changed, 15 insertions, 15 deletions
diff --git a/mrblib/print.rb b/mrblib/print.rb index 840a1249a..52beb26cb 100644 --- a/mrblib/print.rb +++ b/mrblib/print.rb @@ -31,4 +31,19 @@ module Kernel end __printstr__ "\n" if len == 0 end + + ## + # Print human readable object description + # + # ISO 15.3.1.3.34 + def p(*args) + i = 0 + len = args.size + while i < len + __printstr__ args[i].inspect + __printstr__ "\n" + i += 1 + end + args[0] + end end diff --git a/src/print.c b/src/print.c index f9034470b..505597935 100644 --- a/src/print.c +++ b/src/print.c @@ -38,20 +38,6 @@ mrb_p(mrb_state *mrb, mrb_value obj) /* 15.3.1.2.9 */ /* 15.3.1.3.34 */ -static mrb_value -p_m(mrb_state *mrb, mrb_value self) -{ - int argc, i; - mrb_value *argv = NULL; - - mrb_get_args(mrb, "*", &argv, &argc); - for (i=0; i<argc; i++) { - mrb_p(mrb, argv[i]); - } - - return argv ? argv[0] : mrb_nil_value(); -} - mrb_value mrb_printstr(mrb_state *mrb, mrb_value self) { @@ -71,7 +57,6 @@ mrb_init_print(mrb_state *mrb) krn = mrb->kernel_module; mrb_define_method(mrb, krn, "__printstr__", mrb_printstr, ARGS_REQ(1)); - mrb_define_method(mrb, krn, "p", p_m, ARGS_ANY()); /* 15.3.1.3.34 */ } |
