[ruby-core:96497] [Ruby master Feature#16451] Special ternary operator for methods ending in `?`
[email protected] Thu, 26 Dec 2019 10:32:49 +0000 (UTC)
| Newsgroups | gmane.comp.lang.ruby.core |
|---|---|
| Message-ID | <redmine.journal-83430.20191226103248.1d32d19173ec87a9@ruby-lang.org> |
Issue #16451 has been updated by xBartu (Bartu Demirkıran). I am also against the proposal. Having said that I love using one-liners but newcomers to Ruby (from another language) will presumably look for current syntax. This might be a bit odd yet we can advocate the following: ``` ruby (question_method?) ? 'was true' : 'was false' ``` ---------------------------------------- Feature #16451: Special ternary operator for methods ending in `?` https://bugs.ruby-lang.org/issues/16451#change-83430 * Author: myxoh (Nicolas Klein) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- When a method ends in `?`, we should be able to skip the `?` in the ternary operator. For example, we should be able to do: ```ruby question_method? true_statement : false_statement ``` This shouldn't interfere with implementations, as it currently fails to parse. Below are examples: ```ruby def normal_method; true end def question_method?; false end question_method? ? 'was true' : 'was false' # => 'was false' question_method? 'was true' : 'was false' # => 'was false' normal_method ? 'was true' : 'was false' # => 'was true' ``` -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:[email protected]?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>