lib/core/facets/kernel/method.rb in facets-2.8.4 vs lib/core/facets/kernel/method.rb in facets-2.9.0.pre.1

- old
+ new

@@ -6,35 +6,36 @@ # # def hello # puts "Hello World!" # end # - # m1 = method!(:hello) #=> <Method: #hello> + # m1 = method!(:hello) # # def m1.annotate # "simple example" # end # # m2 = method!(:hello) # m2.annotate #=> "simple example" - + # def method!(s) #( @__methods__ ||= {} )[s.to_sym] ||= method(s) $FIRST_CLASS_METHODS[self][s.to_sym] ||= method(s) end end +#-- # Should 1st Class Methods be part of Ruby proper? # # Perhaps the best solution would be using the notation # <tt>::ameth</tt>. This would require some minor changes # to Ruby, but with few backward incompatabilites if # parantheticals revert back to the actual method invocation. # Although this later stipulation means capitalized methods # would not be accessible in this way b/c they would intefere with -# constant lookup. It's a trade off. +# constant lookup. It's a trade off. ... # # Current Proposed Alternate # ----------------- ------------------ ------------------- # Foo.Bar() method call method call method call # Foo.Bar method call method call method call @@ -44,6 +45,6 @@ # Foo::Bar constant lookup constant lookup constant lookup # Foo::bar() method call method call 1st class method # Foo::bar method call 1st class method 1st class method # # Then again this dosen't address bound versus unbound. - +#++