Issue #10883 has been updated by Recursive Madman.


Note that for your example that wouldn't be needed:

```
a = an_array.foo.bar
a[1..a.length-1].baz
```

is equivalent to

```
an_array.foo.bar[1..-1].baz
```

----------------------------------------
Feature #10883: Passing a block to itself
https://bugs.ruby-lang.org/issues/10883#change-51618

* Author: Damien Robert
* Status: Open
* Priority: Normal
* Assignee: 
----------------------------------------
In the discussion of [itself](https://bugs.ruby-lang.org/issues/6373)
some people proposed that passing a block to itself could return the value of the block:

~~~
def itself
  if block_given?
    yield self
  else
    self
  end
end
~~~

It would be very usefull in method chains

~~~~
#this would allow
an_array.foo.bar.itself {|x| x[1..x.length-1]}.baz
#which flows better than
a=an_array.foo.bar
a[1..a.length-1].baz
~~~~



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