summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-kernel-ext
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-10-17 09:10:13 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-10-17 09:10:13 +0900
commit1519616ecb12fe9a121b83c32f74109cf2a5b533 (patch)
tree3d01787ff37804f59fa0eeb0e07e13bcebdcb423 /mrbgems/mruby-kernel-ext
parentc96def7c96c50f3b8e22e47ce31a6c5a37939dfd (diff)
downloadmruby-1519616ecb12fe9a121b83c32f74109cf2a5b533.tar.gz
mruby-1519616ecb12fe9a121b83c32f74109cf2a5b533.zip
Add `Kernel#yield_self`; CRuby2.5
Diffstat (limited to 'mrbgems/mruby-kernel-ext')
-rw-r--r--mrbgems/mruby-kernel-ext/mrblib/kernel.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/mrbgems/mruby-kernel-ext/mrblib/kernel.rb b/mrbgems/mruby-kernel-ext/mrblib/kernel.rb
new file mode 100644
index 000000000..25a4d4ed4
--- /dev/null
+++ b/mrbgems/mruby-kernel-ext/mrblib/kernel.rb
@@ -0,0 +1,13 @@
+module Kernel
+ # call-seq:
+ # obj.yield_self {|_obj|...} -> an_object
+ #
+ # Yields <i>obj</i> and returns the result.
+ #
+ # 'my string'.yield_self {|s|s.upcase} #=> "MY STRING"
+ #
+ def yield_self(&block)
+ return to_enum :yield_self unless block
+ block.call(self)
+ end
+end