summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-sprintf
diff options
context:
space:
mode:
authorTomoyuki Sahara <[email protected]>2014-06-03 10:55:26 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-06-03 16:31:20 +0900
commitfe9f3fdd200659e88ef72aab5198e552d138ea27 (patch)
treea9aa5231bdd4b089666f146c1fb7898caa62478c /mrbgems/mruby-sprintf
parentb81f0d0ffb7db46507f7b79ccb72cc94428555ce (diff)
downloadmruby-fe9f3fdd200659e88ef72aab5198e552d138ea27.tar.gz
mruby-fe9f3fdd200659e88ef72aab5198e552d138ea27.zip
add 'String#%'.
Diffstat (limited to 'mrbgems/mruby-sprintf')
-rw-r--r--mrbgems/mruby-sprintf/mrblib/string.rb9
-rw-r--r--mrbgems/mruby-sprintf/test/sprintf.rb9
2 files changed, 16 insertions, 2 deletions
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} < %<str>s" % { num: 123, str: "456" }
+end