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.
-
+#++