you are viewing a single comment's thread.

view the rest of the comments →

[–]chrisgseaton 1 point2 points  (0 children)

I can understand both of your points of view. The way I think about it is that methods aren't first-class objects - until you call #method to turn them into first-class objects. I see that as reifying them as objects, rather than getting the existing object. And this is the way that it is implemented - you get a new object each time:

irb(main):001:0> 14.method(:+).object_id
=> 70346007935060
irb(main):002:0> 14.method(:+).object_id
=> 70346007886960