summaryrefslogtreecommitdiff
path: root/object.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-05-30 08:24:52 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-05-30 08:24:52 +0000
commitd53ee008911b5c3b22cff1566a9ef7e7d4cbe183 (patch)
treec9806a0f758ab3455ffc1b8302a3083eb323433a /object.c
parent47f9dd8419b8c6a8f900bba34a04d61e6813f022 (diff)
object.c: Add a new alias `then` to `Kernel#yield_self`; [Feature #14594]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'object.c')
-rw-r--r--object.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/object.c b/object.c
index 7a9ee001e6..036e07b64f 100644
--- a/object.c
+++ b/object.c
@@ -564,12 +564,13 @@ rb_obj_size(VALUE self, VALUE args, VALUE obj)
/*
* call-seq:
+ * obj.then {|x| block } -> an_object
* obj.yield_self {|x| block } -> an_object
*
* Yields self to the block and returns the result of the block.
*
+ * 3.next.then {|x| x**x }.to_s #=> "256"
* "my string".yield_self {|s| s.upcase } #=> "MY STRING"
- * 3.next.yield_self {|x| x**x }.to_s #=> "256"
*
*/
@@ -4065,6 +4066,7 @@ InitVM_Object(void)
rb_define_method(rb_mKernel, "dup", rb_obj_dup, 0);
rb_define_method(rb_mKernel, "itself", rb_obj_itself, 0);
rb_define_method(rb_mKernel, "yield_self", rb_obj_yield_self, 0);
+ rb_define_method(rb_mKernel, "then", rb_obj_yield_self, 0);
rb_define_method(rb_mKernel, "initialize_copy", rb_obj_init_copy, 1);
rb_define_method(rb_mKernel, "initialize_dup", rb_obj_init_dup_clone, 1);
rb_define_method(rb_mKernel, "initialize_clone", rb_obj_init_dup_clone, 1);