Is there a way to call a function and have that function use an argument defined in an enclosing function? e.g., set = Table@Range@50; posE[set_] := Select[set, EvenQ] tform1[mult_,set_] := (#*mult) & /@ set[[posE]]; t1set = tform1[10, set] which leads to the following message/error, > Part::pspec: Part specification posEa is neither an integer nor a list > of integers. >> I would like `posE` to get its argument `set_` from the second argument in `tform1` (also named `set_`). Is this possible? is there a better way to do this? (Note that I do not want to combine the two functions into a single function).