Actions
Feature #14498
closedClass#to_proc
Status:
Rejected
Assignee:
-
Target version:
-
Description
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:
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:
Updated by Hanmac (Hans Mackowiak) over 6 years ago
- Description updated (diff)
Duplicate of #4910
PS: might be a bit more complicated in C,
but i would like this:
proc { |*args, **keyargs| self.new(*args, **keyargs) }
so it works with keyargs too
Updated by Nondv (Dmitry Non) over 6 years ago
Hanmac (Hans Mackowiak) wrote:
Duplicate of #4910
PS: might be a bit more complicated in C,
but i would like this:proc { |*args, **keyargs| self.new(*args, **keyargs) }
so it works with keyargs too
Hi!
It's not really a duplicate since there is a different suggestion.
I have written PR in C based on Hash#to_proc
definition
Updated by matz (Yukihiro Matsumoto) over 6 years ago
- Status changed from Open to Rejected
Nice try. But I think it's too concise that could lead to unreadable code.
Matz.
Updated by matz (Yukihiro Matsumoto) over 6 years ago
- Related to Feature #4910: Classes as factories added
Actions
Like0
Like0Like0Like0Like0Like0