[#68478] Looking for MRI projects for Ruby Google Summer of Code 2015 — Tony Arcieri <bascule@...>

Hi ruby-core,

10 messages 2015/03/10

[ruby-core:68565] [Ruby trunk - Feature #10883] Passing a block to itself

From: brandon_weaver@...
Date: 2015-03-19 20:32:41 UTC
List: ruby-core #68565
Issue #10883 has been updated by Brandon Weaver.


Nobuyoshi Nakada wrote:
> Why `itself` doesn't return itself?
> It seems very confusing.

Why can't we just tie into the current verbiage?

```
# Yes, contrived
1.yield { |v| v + 5 } # => 6

def defaults_to(default)
  -> v { v || default }
end

nil.yield(&defaults_to(5)).times do # ....
```

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

* 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/

In This Thread

Prev Next