Class: Symbol

Inherits:
Object
  • Object
show all
Defined in:
lib/ludy/symbol/curry.rb,
lib/ludy/symbol/to_msg.rb,
lib/ludy/symbol/to_proc.rb

Instance Method Summary collapse

Instance Method Details

#curry(args = nil) ⇒ Object

synonymy for to_proc.curry



7
8
9
10
11
12
13
# File 'lib/ludy/symbol/curry.rb', line 7

def curry args = nil
  if args
    to_proc.curry args
  else
    to_proc.curry
  end
end

#to_msgObject

it is like to_proc, but much more powerful

:'*2'.to_msg[5]
=> 10

:'to_s(16)'.to_msg[15]
=> "f"


9
# File 'lib/ludy/symbol/to_msg.rb', line 9

def to_msg; lambda{ |*args| eval "args[0].#{self.to_s} #{args[1..-1].join ', '}" }; end

#to_procObject

it would be defined if RUBY_VERSION < ‘1.9.0’, see rdoc in ruby 1.9



7
# File 'lib/ludy/symbol/to_proc.rb', line 7

def to_proc; lambda{ |*args| args.shift.__send__ self, *args }; end