Why won't If[ ] evaluate?

• To: mathgroup at yoda.physics.unc.edu
• Subject: Why won't If[ ] evaluate?
• From: jmm at umich.edu
• Date: Wed, 6 Jul 1994 15:51:17 -0700 (PDT)

```I am trying to do a boolean test on each value in a vector.  I have figured
out how to use Map[ ] to set this up, with the return equal to a list of the
individual tests.  But when I do this, I get a list of If[ ] statements,
rather than a list of the results of evaluating those If[ ] statements.  Here
is the code:

In[41]:=
jlist = {1,-1};
Map[If[# > 0,1,0],jlist]
If[jlist[[1]] > 0,1,0]

Out[42]=
{If[#1 > 0, 1, 0][1], If[#1 > 0, 1, 0][-1]}
Out[43]=
1

What I want Out[42] to look like is simply {1,0}, the results of evaluating
the two If[ ] expressions.  I've tried wrapping Evaluate[ ] around the If[ ],
and wrapping it around the first argument of If[ ] (i.e., Evaluate[# > 0]),
but neither worked.  What am I missing here?

--
Prof. Jeff MacKie-Mason
Dept. of Economics         Jan-July 28 '94: California Energy Institute
Univ. of Michigan                                     2539 Channing Way
Ann Arbor, MI 48109-1220                             Berkeley, CA 94720
internet: jmm at umich.edu       phone: 510-642-3570     fax: 510-642-3570

```

• Prev by Date: Re:Alternative to Timing[10000!] benchmark
• Next by Date: Error(?) in Limit Evaluation
• Previous by thread: Re: simplification of sums
• Next by thread: Error(?) in Limit Evaluation