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 2CD4017C506C for ; Wed, 21 Dec 2011 07:59:22 +0900 (JST) Received: from funfun.nagaokaut.ac.jp (funfun.nagaokaut.ac.jp [133.44.2.201]) by kankan.nagaokaut.ac.jp (Postfix) with ESMTP id 4044BEA69F4 for ; Wed, 21 Dec 2011 07:44:44 +0900 (JST) Received: from localhost (localhost.nagaokaut.ac.jp [127.0.0.1]) by funfun.nagaokaut.ac.jp (Postfix) with ESMTP id 4C25B8FC28 for ; Wed, 21 Dec 2011 07:44:44 +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 px7AHmCW7O-p for ; Wed, 21 Dec 2011 07:44:44 +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 2B11A8FC22 for ; Wed, 21 Dec 2011 07:44:44 +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 B7F5295241B for ; Wed, 21 Dec 2011 07:44:42 +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 9C77A3C21EB96; Wed, 21 Dec 2011 07:44:39 +0900 (JST) Received: from fluorine.ruby-lang.org (www.rubyist.net [210.251.121.216]) by carbon.ruby-lang.org (Postfix) with ESMTP id 3E9E23C21F118 for ; Wed, 21 Dec 2011 07:44:33 +0900 (JST) Received: from ruby-lang.org (localhost [127.0.0.1]) by fluorine.ruby-lang.org (Postfix) with ESMTP id 288DDC for ; Wed, 21 Dec 2011 07:44:33 +0900 (JST) Delivered-To: ruby-core@ruby-lang.org Date: Wed, 21 Dec 2011 07:44:33 +0900 Posted: Wed, 21 Dec 2011 07:44:33 +0900 From: Benoit Daloze Reply-To: ruby-core@ruby-lang.org Subject: [ruby-core:41761] [ruby-trunk - Feature #5781] Query attributes (attribute methods ending in `?` mark) To: ruby-core@ruby-lang.org Message-Id: References: X-ML-Name: ruby-core X-Mail-Count: 41761 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-Spam-Checker-Version: SpamAssassin 3.1.7-deb3 (2006-10-05) on carbon.ruby-lang.org X-Spam-Level: X-Spam-Status: No, score=0.6 required=7.0 tests=BAYES_50,CONTENT_TYPE_PRESENT, FAKEDWORD_ATMARK,FORGED_RCVD_HELO,X_MAILER_PRESENT autolearn=disabled version=3.1.7-deb3 X-Redmine-Issue-Author: trans X-Redmine-Issue-Assignee: matz X-Redmine-Issue-Id: 5781 X-Redmine-Mailinglistintegration-Message-Ids: 11413 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 #5781 has been updated by Benoit Daloze. > So why not just allow: attr :foo? I agree. I know many people wish for that too. > matz: The other option is removing '?' from instance variables. But as far as I remember no one seriously proposed the idea before, and we haven't got consensus. What do you mean by removing '?' from instance variables ? As you said, '?' is already forbidden in instance variable names. > Thomas Sawyer: It's an open question as to whether #attr and/or #attr_reader should define the plan method too. I think the plain (bare) method should not be defined (to keep it as clean and simple as possible), and there should not be any conversion (which could lose information). Also, since attr* :foo? does not conflict with current uses, I think it's fine to use the usual attr* methods. ---------------------------------------- Feature #5781: Query attributes (attribute methods ending in `?` mark) https://bugs.ruby-lang.org/issues/5781 Author: Thomas Sawyer Status: Assigned Priority: Normal Assignee: Yukihiro Matsumoto Category: Target version: 2.0.0 Pretty sure this has come up before, but I'd like to revisit b/c I don't understand why it isn't allowed. Sometimes I define "query" attributes, and in those cases I'd like the reader method to end in a `?` mark. Currently I have to do: # @attribute def foo? @foo end or, if I don't mind a shadowing bare method, attr :foo alias_method :foo?, :foo So why not just allow: attr :foo? Currently this causes an error. But why? It just seems like a waste of potentially cleaner code. -- http://redmine.ruby-lang.org