I would like to construct the local variable assignment array {a=1, b=2, ....} automatically. The wishful-thinking solution of With[params = values, ...] doesn't work and I've tried a random selection of Mapping, Threading and Holding, all to no avail. It looks like a similar question has been answered before, however, the function proposed by Leonid doesn't work in the With block. I suspect my issue focuses on an attempt to manipulate Symbols in a non-trivial manner (and by non-trivial, I simply mean anything beyond a = 1).

$\begingroup$Definitely one of the things I like most about M.SE is the wealth of knowledge users are willing to contribute; having a software package that can do so many things in so many ways helps as well.$\endgroup$
– bobthechemistAug 18 '13 at 13:45

$\begingroup$@bobthechemist It's nice, isn't it? And to think some people believe an acceptable SE question should have only one answer. :^)$\endgroup$
– Mr.Wizard♦Aug 18 '13 at 14:05

$\begingroup$@bobthechemist I was hoping that you might Accept this answer. The presently selected answer fails if any of the symbols you use (a,b,c,d) have global values for example. This also allow you to conveniently use the := method in With. Are these not valuable to you?$\endgroup$
– Mr.Wizard♦Aug 21 '13 at 17:46

$\begingroup$I will take this under consideration. This project took a back burner role now that school is starting so I haven't had a chance to play around with your answer.$\endgroup$
– bobthechemistAug 21 '13 at 19:02

$\begingroup$@bobthechemist Thanks, that's all I could ask.$\endgroup$
– Mr.Wizard♦Aug 21 '13 at 19:05

$\begingroup$I think the OP is trying to write a "macro" that expand at the first element of With. It's rather hard for me .$\endgroup$
– mmjangJul 15 '13 at 15:04

2

$\begingroup$@mm.Jang checked it and it works with 9...$\endgroup$
– StefanJul 15 '13 at 15:36

1

$\begingroup$@Stefan I don't really know what happened, can't reproduce this anymore. I believe I copied the code in a right way.$\endgroup$
– mmjangJul 15 '13 at 15:37

1

$\begingroup$@mm.Jang i know exactly what you mean...fiddling around with replacements it is sometimes best to start with a fresh kernel...or do the replacements inside a With.$\endgroup$
– StefanJul 15 '13 at 15:53

If I correctly interpreted the question, you want to define a list of variables and related values externally to a With construct, and then inside the With you want to automatically assign those values to variables, but without to influence the values of such variables outside the With itself. In other words, exactly what With does, but using parallel assignments in automatic.
Because parallel assignment is not allowed inside scoping constructs like With (and Module for instance) the effort is to find a way to overcome such limit.
Some solutions offered in previous answers are not fully working, despite the apparent correct behavior. See for instance the following

Mathematica is a registered trademark of Wolfram Research, Inc. While the mark is used herein with the limited permission of Wolfram Research, Stack Exchange and this site disclaim all affiliation therewith.