# File lib/core/facets/enumerable/per.rb, line 21 def per(enum_method=nil, *enum_args) if enum_method Functor.new do |op, *args, &blk| __send__(enum_method || :map, *enum_args){ |x, *y| x.__send__(op, *y, *args, &blk) } end else Functor.new do |enumr_method, *enumr_args| Functor.new do |op, *args, &blk| __send__(enumr_method, *enumr_args){ |x, *y| x.__send__(op, *y, *args, &blk) } end end end end