From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: poffice@blade.nagaokaut.ac.jp Delivered-To: poffice@blade.nagaokaut.ac.jp Received: from kankan.nagaokaut.ac.jp (kankan.nagaokaut.ac.jp [133.44.2.24]) by blade.nagaokaut.ac.jp (Postfix) with ESMTP id 43BCC17C91E3 for ; Wed, 11 Jul 2012 21:25:02 +0900 (JST) Received: from funfun.nagaokaut.ac.jp (smtp.nagaokaut.ac.jp [133.44.2.201]) by kankan.nagaokaut.ac.jp (Postfix) with ESMTP id 19A5AEA6CE3 for ; Wed, 11 Jul 2012 21:22:13 +0900 (JST) Received: from localhost (localhost.nagaokaut.ac.jp [127.0.0.1]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id 1B3AB8FC28 for ; Wed, 11 Jul 2012 21:22:14 +0900 (JST) X-Virus-Scanned: amavisd-new at funfun.nagaokaut.ac.jp Received: from funfun.nagaokaut.ac.jp ([127.0.0.1]) by localhost (funfun.nagaokaut.ac.jp [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kE0iPwP5Cg4R for ; Wed, 11 Jul 2012 21:22:13 +0900 (JST) Received: from voscc.nagaokaut.ac.jp (voscc.nagaokaut.ac.jp [133.44.1.100]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id EEEF28FC1B for ; Wed, 11 Jul 2012 21:22:13 +0900 (JST) Received: from carbon.ruby-lang.org (carbon.ruby-lang.org [221.186.184.68]) by voscc.nagaokaut.ac.jp (Postfix) with ESMTP id 32E03952427 for ; Wed, 11 Jul 2012 21:22:10 +0900 (JST) Received: from beryllium.ruby-lang.org (beryllium.ruby-lang.org [127.0.0.1]) by carbon.ruby-lang.org (Postfix) with ESMTP id 3AF533C21F120; Wed, 11 Jul 2012 21:22:09 +0900 (JST) Received: from fluorine.ruby-lang.org (www.rubyist.net [210.251.121.216]) by carbon.ruby-lang.org (Postfix) with ESMTP id B08603C21F742 for ; Wed, 11 Jul 2012 21:22:08 +0900 (JST) Received: from ruby-lang.org (localhost [127.0.0.1]) by fluorine.ruby-lang.org (Postfix) with ESMTP id 974303ED21 for ; Wed, 11 Jul 2012 21:22:08 +0900 (JST) Delivered-To: ruby-core@ruby-lang.org Date: Wed, 11 Jul 2012 21:22:08 +0900 Posted: Wed, 11 Jul 2012 21:22:08 +0900 From: "alexeymuranov (Alexey Muranov)" Reply-To: ruby-core@ruby-lang.org Subject: [ruby-core:46323] [ruby-trunk - Feature #6721] Object#yield_self To: ruby-core@ruby-lang.org Message-Id: References: X-ML-Name: ruby-core X-Mail-Count: 46323 X-MLServer: fml [fml 4.0.3 release (20011202/4.0.3)]; post only (only members can post) X-ML-Info: If you have a question, send e-mail with the body "help" (without quotes) to the address ruby-core-ctl@ruby-lang.org; help= X-Mailer: Redmine X-Redmine-Issue-Author: alexeymuranov X-Auto-Response-Suppress: OOF X-Redmine-Issue-Id: 6721 X-Redmine-Mailinglistintegration-Message-Ids: 16620 X-Redmine-Project: ruby-trunk Auto-Submitted: auto-generated X-Redmine-Site: Ruby Issue Tracking System X-Redmine-Host: bugs.ruby-lang.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Precedence: bulk List-Id: ruby-core.ruby-lang.org List-Software: fml [fml 4.0.3 release (20011202/4.0.3)] List-Post: List-Owner: List-Help: List-Unsubscribe: Issue #6721 has been updated by alexeymuranov (Alexey Muranov). =begin jballanc (Joshua Ballanco) wrote: > How is this significantly different than Object#tap? It executes the block and returns its output. For example: puts "2*2 = #{ 2.yield_self { |x| x*x } }" =end ---------------------------------------- Feature #6721: Object#yield_self https://bugs.ruby-lang.org/issues/6721#change-27939 Author: alexeymuranov (Alexey Muranov) Status: Open Priority: Normal Assignee: Category: Target version: =begin I think the following method is missing from Ruby: class Object def yield_self(*args) yield(self, *args) end end I do not know a good use case, but it looks very natural to me. It can be used in method chains. What do you think? Is there an alternative? =end -- http://bugs.ruby-lang.org/