From 2728f302976573f13b6942cc426fb840f597cb61 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Fri, 18 May 2012 15:01:45 +0900 Subject: implement Kernel#p in Ruby --- mrblib/print.rb | 15 +++++++++++++++ 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; ikernel_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 */ } -- cgit v1.2.3