Issue #12263 has been updated by Robert A. Heiler.


I don't really like it.

matz said that & is the lonely operator because the person is staring
at a dot before, like &.

&&. would be too lonely because now you have 2 people staring at a 
dot together. This would make ruby hackers too sad.

In general I do not like the amplification of some tokens; for instance,
@foo is much nicer than @@foo.

I am also sure that, if you add this, people will suggest $$ as well. :)

I also have to admit that I find "x && y" easier to understand than
"x&&.y".

----------------------------------------
Feature #12263: Feature request: &&. operator (shorthand for foo && foo.method)
https://bugs.ruby-lang.org/issues/12263#change-57987

* 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: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>