Class | Functor
In: | lib/core/facets/functor.rb
Parent: | Object

By definition a Functor is simply a first class method, but these are common in the form of Method and Proc. So for Ruby a Functor is a more specialized as a Higher-order function or Metafunction. Essentally, a Functor can vary its behavior accorrding to the operation applied to it.

      f = Functor.new { |op, x| x.send(op, x) }
      (f + 1)  #=> 2
      (f + 2)  #=> 4
      (f + 3)  #=> 6
      (f * 1)  #=> 1
      (f * 2)  #=> 4
      (f * 3)  #=> 9

### Methods

new to_proc

### Constants

EXCEPTIONS | = | [:binding, :inspect, :object_id]

### External Aliases

class | -> | __class__

### Public Class methods

new(&function)

### Public Instance methods

to_proc()

[Validate]