The pattern vendorModel_Function
constrains the definition to require that the first argument has Head
Function
. You passed in f1
, but that doesn't have Head
Function
. You can either change your definition for f2
or you can pass in an actual Function
. So, here's an alternate that I'll call f3
:
f3[vendorModel_, models_] := vendorModel /@ models;
f3[f1, {3, 4}]
(* {10, 17} *)
By leaving vendorModel
unconstrained, the function is more flexible.
Or, using your original f2
, you could do this:
f2[f1[#] &, {3, 4}]
(* {10, 17} *)