module Tins::ProcPrelude
Public Instance Methods
Source
# File lib/tins/proc_prelude.rb, line 5 def apply(&my_proc) my_proc or raise ArgumentError, 'a block argument is required' lambda { |list| my_proc.call(*list) } end
Source
# File lib/tins/proc_prelude.rb, line 15 def call(obj, &my_proc) my_proc or raise ArgumentError, 'a block argument is required' obj.instance_eval(&my_proc) end
Source
# File lib/tins/proc_prelude.rb, line 58 def const(konst = nil, &my_proc) konst ||= my_proc.call lambda { |*_| konst } end
Source
# File lib/tins/proc_prelude.rb, line 25 def first lambda { |*list| list.first } end
Also aliased as: head
Source
# File lib/tins/proc_prelude.rb, line 67 def from(&block) my_method, binding = block.call, block.binding my_self = eval 'self', binding lambda { |*list| my_self.__send__(my_method, *list) } end
Source
# File lib/tins/proc_prelude.rb, line 10 def map_apply(my_method, *args, &my_proc) my_proc or raise ArgumentError, 'a block argument is required' lambda { |x, y| my_proc.call(x, y.__send__(my_method, *args)) } end
Source
# File lib/tins/proc_prelude.rb, line 47 def rotate(n = 1) lambda { |*list| list.rotate(n) } end
Also aliased as: swap