module Stunted::Defn
Public Class Methods
defn(name, fn = nil, &block)
click to toggle source
Note: if you use a block with defn, you get block semantics. In particular, don't try to return from such a block.
# File lib/stunted/chaining.rb, line 7 def defn(name, fn = nil, &block) if fn define_method(name) { fn } else puts "Lambda rigamarole could be just { block }" define_method(name) { lambda(&block) } # Todo: why is this lambda rigamarole required? end module_function name if respond_to?(:module_function, true) end
Public Instance Methods
defn(name, fn = nil, &block)
click to toggle source
Note: if you use a block with defn, you get block semantics. In particular, don't try to return from such a block.
# File lib/stunted/chaining.rb, line 7 def defn(name, fn = nil, &block) if fn define_method(name) { fn } else puts "Lambda rigamarole could be just { block }" define_method(name) { lambda(&block) } # Todo: why is this lambda rigamarole required? end module_function name if respond_to?(:module_function, true) end