From fe9f3fdd200659e88ef72aab5198e552d138ea27 Mon Sep 17 00:00:00 2001 From: Tomoyuki Sahara Date: Tue, 3 Jun 2014 10:55:26 +0900 Subject: add 'String#%'. --- mrbgems/mruby-sprintf/mrblib/string.rb | 9 +++++++++ mrbgems/mruby-sprintf/test/sprintf.rb | 9 +++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 mrbgems/mruby-sprintf/mrblib/string.rb diff --git a/mrbgems/mruby-sprintf/mrblib/string.rb b/mrbgems/mruby-sprintf/mrblib/string.rb new file mode 100644 index 000000000..d7e55536a --- /dev/null +++ b/mrbgems/mruby-sprintf/mrblib/string.rb @@ -0,0 +1,9 @@ +class String + def %(args) + if args.is_a? Array + sprintf(self, *args) + else + sprintf(self, args) + end + end +end diff --git a/mrbgems/mruby-sprintf/test/sprintf.rb b/mrbgems/mruby-sprintf/test/sprintf.rb index 52e94fb83..7007df1fa 100644 --- a/mrbgems/mruby-sprintf/test/sprintf.rb +++ b/mrbgems/mruby-sprintf/test/sprintf.rb @@ -1,3 +1,8 @@ -## -# Kernel#sprintf Kernel#format Test +#assert('Kernel.sprintf') do +#end +assert('String#%') do + assert_equal "one=1", "one=%d" % 1 + assert_equal "1 one 1.0", "%d %s %3.1f" % [ 1, "one", 1.01 ] + assert_equal "123 < 456", "%{num} < %s" % { num: 123, str: "456" } +end -- cgit v1.2.3