 
 
 
 
 
 
Re: Noob evaluation question
- To: mathgroup at smc.vnet.net
- Subject: [mg74348] Re: Noob evaluation question
- From: Peter Pein <petsie at dordos.net>
- Date: Mon, 19 Mar 2007 02:06:58 -0500 (EST)
- References: <et54tf$b7m$1@smc.vnet.net><et8cqo$obg$1@smc.vnet.net> <etb5hq$k5e$1@smc.vnet.net>
heycarnut schrieb:
> Thanks for all the answers!
> The example we gave was contrived, as I said, so obviously we would
> use Range[Random...]] if the example
> was doing something real!
> 
> We did of course just evaluate the random before the evaluation of the
> Position.
> 
> My question was not clear enough, I think. We were just curious if
> there was a way to keep the statement 'purely functional', and use
> something akin to hold/release to freeze the first value returned by
> the Random. The answer appears to be no, matching our initial gut
> feeling, though chris' answer comes close with using a helper function
> - familiar to us from Lisp.
> 
> Thanks again, all!
> 
> Rob
> 
> 
Hi Rob,
this is your example:
SeedRandom[1];
Position[{1, 2, 3, 4, 5, 6, 7, 8, 9}, _?(#1 <= Random[Integer, {1, 9}] & )]
--> {{1}, {2}, {3}, {5}, {6}}
And does this match your needs?
SeedRandom[1];
Function[r,
  Position[{1, 2, 3, 4, 5, 6, 7, 8, 9}, _?(#1 <= r & )]]
[Random[Integer, {1, 9}]]
--> {{1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}}
Peter

