Method: XlsFunction::Evaluators::FunctionEvaluator#map_eval
- Defined in:
- lib/xls_function/evaluators/function_evaluator.rb
#map_eval(args) ⇒ Object
70 71 72 73 74 75 76 77 78 |
# File 'lib/xls_function/evaluators/function_evaluator.rb', line 70 def map_eval(args) arg_array = args.map { |x| Array(x) } .then { |xs| xs.length == 1 ? xs : xs[0].product(*xs[1..]) } return XlsFunction::ErrorValue.na(class_info((:invalid_value_for_function))) if arg_array.max_depth > 2 arg_array.map do |arg| to_proc.call(*arg) # Executes each created arguments as argument of self. end end |