The fun continues

class Class
def to_proc
proc{new}
end
end

(1…5).map(&Array) => [[], [], [], [], []]
(1…5).map(&String) => ["", “”, “”, “”, “”]

Mmmmmmmmm, Ruuuuuuubyyyyyyy… drool

Daniel S. wrote:

class Class
def to_proc
proc{new}
end
end

(1…5).map(&Array) => [[], [], [], [], []]
(1…5).map(&String) => ["", “”, “”, “”, “”]

Even cooler:

class Class
def to_proc
proc{|*args| new(*args)}
end
end

class Person
def initialize(name)
@name = name
end

 def inspect
   @name.to_str
 end

end

%w(john bob jane hans).map(&Person) => [john, bob, jane, hans]

Daniel

Daniel S. wrote:

Even cooler:
end

def inspect
  @name.to_str
end

end

%w(john bob jane hans).map(&Person) => [john, bob, jane, hans]

Daniel

This could have been done just as well by modifying Enumerable#map in
the core, without adding new syntax.

Regards,

Dan

Daniel B. wrote:

This could have been done just as well by modifying Enumerable#map in
the core, without adding new syntax.

Where’s the fun in that? :slight_smile:

I simply had to share my love with the wonderful #to_proc, which
continues to amaze me with its flexibility.

Daniel

On Jun 4, 2006, at 2:27 PM, Daniel B. wrote:

Even cooler:
@name.to_str
Dan

New syntax?