# File lib/criteria/array.rb, line 22 def select(*args) result = [] filter = (args.size > 0) @array.each { | o | if(self._apply(o)) if filter a = [] args.each { |m| a << o.__send__(m) } result << a else result << o end end } return result end