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 6C1EC17CC940 for ; Sun, 25 Nov 2012 02:30:18 +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 80964EA6AF4 for ; Sun, 25 Nov 2012 02:28:45 +0900 (JST) Received: from funfun.nagaokaut.ac.jp (localhost.nagaokaut.ac.jp [127.0.0.1]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id BD77097A832 for ; Sun, 25 Nov 2012 02:28:46 +0900 (JST) X-Virus-Scanned: amavisd-new at nagaokaut.ac.jp Received: from funfun.nagaokaut.ac.jp ([127.0.0.1]) by funfun.nagaokaut.ac.jp (funfun.nagaokaut.ac.jp [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KyWvHkoxuydu for ; Sun, 25 Nov 2012 02:28:46 +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 9B6FB97A82B for ; Sun, 25 Nov 2012 02:28:46 +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 376D595244A for ; Sun, 25 Nov 2012 02:28:45 +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 798F63C21E7B1; Sun, 25 Nov 2012 02:28:42 +0900 (JST) Received: from fluorine.ruby-lang.org (www.rubyist.net [210.251.121.216]) by carbon.ruby-lang.org (Postfix) with ESMTP id 2752C3C21EB8E for ; Sun, 25 Nov 2012 02:28:42 +0900 (JST) Received: from ruby-lang.org (localhost [127.0.0.1]) by fluorine.ruby-lang.org (Postfix) with ESMTP id 0AD603ED29 for ; Sun, 25 Nov 2012 02:28:42 +0900 (JST) Delivered-To: ruby-core@ruby-lang.org Date: Sun, 25 Nov 2012 02:28:42 +0900 Posted: Sun, 25 Nov 2012 02:28:41 +0900 From: "headius (Charles Nutter)" Reply-To: ruby-core@ruby-lang.org Subject: [ruby-core:50047] [ruby-trunk - Feature #6721] Object#yield_self To: ruby-core@ruby-lang.org Message-Id: References: X-ML-Name: ruby-core X-Mail-Count: 50047 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: 22741 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 headius (Charles Nutter). It occurs to me #apply is used in some other languages to refer to the elements of a collection rather than to the collection itself. [1,2,3].apply {|n| puts n} Did we ever decide if the #self method would be added? If it were, it would be simple to have it take a block: four = 2.self {|n| n * n} That would make #self basically be #ergo as defined by Facets. Worth noting that you can get nearly as concise syntax today, albeit in reverse order: four = ->{|n| n * n}.(2) ---------------------------------------- Feature #6721: Object#yield_self https://bugs.ruby-lang.org/issues/6721#change-33823 Author: alexeymuranov (Alexey Muranov) Status: Open Priority: Normal Assignee: Category: core Target version: next minor =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/