From: "P.S.V.R" Date: 2015-09-18T17:31:20+08:00 Subject: [ruby-core:70855] Re: [Ruby trunk - Feature #11537] [Open] Introduce "Safe navigation operator" --089e0122aa5ac8831205200231a5 Content-Type: text/plain; charset=UTF-8 +1 On Fri, Sep 18, 2015 at 5:29 PM, wrote: > Issue #11537 has been reported by Hiroshi SHIBATA. > > ---------------------------------------- > Feature #11537: Introduce "Safe navigation operator" > https://bugs.ruby-lang.org/issues/11537 > > * Author: Hiroshi SHIBATA > * Status: Open > * Priority: Normal > * Assignee: Yukihiro Matsumoto > ---------------------------------------- > I somtimes write following code with rails application: > > ```rb > u = User.find(id) > if u && u.profile && u.profile.thumbnails && u.profiles.thumbnails.large > ... > ``` > > or > > ```rb > # Use ActiveSupport > if u.try!(:profile).try!(:thumbnails).try!(:large) > ... > ``` > I hope to write shortly above code. Groovy has above operator named "Safe > navigation operator" with "?." syntax. > Ruby can't use "?." operator. > > Can we use ".?" syntax. like this: > > ```rb > u = User.find(id) > u.?profile.?thumbnails.?large > ``` > > Matz. How do you think about this? > > > > > -- > https://bugs.ruby-lang.org/ > -- https://github.com/pmq20 --089e0122aa5ac8831205200231a5 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
+1

On Fri, Sep 18, 2015 at 5:29 PM, <shibata.hiroshi@gmail.c= om> wrote:
Issue #11537 has= been reported by Hiroshi SHIBATA.

----------------------------------------
Feature #11537: Introduce "Safe navigation operator"
https://bugs.ruby-lang.org/issues/11537

* Author: Hiroshi SHIBATA
* Status: Open
* Priority: Normal
* Assignee: Yukihiro Matsumoto
----------------------------------------
I somtimes write following code with rails application:

```rb
u =3D User.find(id)
if u && u.profile && u.profile.thumbnails && u.prof= iles.thumbnails.large
=C2=A0 ...
```

or

```rb
# Use ActiveSupport
if u.try!(:profile).try!(:thumbnails).try!(:large)
=C2=A0...
```
I hope to write shortly above code. Groovy has above operator named "S= afe navigation operator" with "?." syntax.
Ruby can't use "?." operator.

Can we use ".?" syntax. like this:

```rb
u =3D User.find(id)
u.?profile.?thumbnails.?large
```

Matz. How do you think about this?




--
https://bugs.ruby-lang.org/



--
--089e0122aa5ac8831205200231a5--