Class Object
In: lib/facet/snapshot.rb
lib/facet/1st.rb
Parent: Object

Decription

Easy access to method as objects. And they retain state!

Usage

  def hello
    puts "Hello World!"
  end
  p method(:hello)                      #=> <Method: #hello>

Comments

  I think 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.

                # Current           Proposed           Alternative
    Foo.Bar()   # method call       method call        method call
    Foo.Bar     # method call       method call        method call
    Foo.bar()   # method call       method call        method call
    Foo.bar     # method call       method call        method call
    Foo::Bar()  # method call       method call        1st class method
    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.

  Which do you prefer?

Author(s)

  • Thomas Sawyer

Methods

External Aliases

method -> method_pre1st

Public Instance methods

[Validate]