Issue #14498 has been updated by matz (Yukihiro Matsumoto).

Status changed from Open to Rejected

Nice try. But I think it's too concise that could lead to unreadable code.

Matz.


----------------------------------------
Feature #14498: Class#to_proc
https://bugs.ruby-lang.org/issues/14498#change-70511

* Author: Nondv (Dmitriy Non)
* Status: Rejected
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
Hello!

I was creating a list of class instances via `some_list.map { |e| SomeClass.new(e) }` and wondered if there's a `Class#to_proc` to make possible doing `some_list.map(&SomeClass)`.
Well, there is not.

Basically, this is what I suggest:

```ruby
class Class
  def to_proc
    proc { |*args| self.new(*args) }
  end
end

class Dog
  attr_reader :name

  def initialize(name)
    @name = name
  end
end

names = %w[Lucky Pluto Balto]
names.map(&Dog) # map names to dogs
```

Here's the pull request:

https://github.com/ruby/ruby/pull/1821



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