From: matthew@... Date: 2016-04-09T10:03:18+00:00 Subject: [ruby-core:74861] [Ruby trunk Feature#12263] Feature request: &&. operator (shorthand for foo && foo.method) Issue #12263 has been updated by Matthew Kerwin. Robert A. Heiler wrote: > I also have to admit that I find "x && y" easier to understand than > "x&&.y". But one could argue that the following, which is semantically equivalent to the proposed `&&.`, is harder to understand: ~~~ruby (tmp = x) && tmp.y ~~~ The only question I have is whether it really has enough utility to warrant adding it as a language construct. (And what of the precedent: will `|.` and `||.` be proposed next?) ---------------------------------------- Feature #12263: Feature request: &&. operator (shorthand for foo && foo.method) https://bugs.ruby-lang.org/issues/12263#change-57989 * Author: Johnny Shields * Status: Feedback * Priority: Normal * Assignee: ---------------------------------------- Ruby 2.3 introduced the `&.` safe-navigation operator. I'd like to propose a `&&.` operator which would be shorthand for: ~~~ruby foo && foo.method ~~~ Unlike `&.`, this does not continue the chain if the variable evaluates to `false`. This would give the following result: ~~~ruby false&.class # => FalseClass false&&.class # => false false&.inexisting # => raises NoMethodError false&&.inexisting # => false ~~~ -- https://bugs.ruby-lang.org/ Unsubscribe: