Re: A Reap Sow question
- To: mathgroup at smc.vnet.net
- Subject: [mg65205] Re: [mg65193] A Reap Sow question
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Fri, 17 Mar 2006 05:45:45 -0500 (EST)
- References: <200603170513.AAA09771@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 17 Mar 2006, at 06:13, János wrote:
>
> Let say I have a construct like
>
> collection=Reap[i=1; While[i<=10,Sow[i]];]
Looks like one of those journeys that take infinitely long yet never
leave the starting point. Again something out of Lem? ;-)
Presumably you meant:
collection = First[Last[Reap[i = 1; While[i <= 10, Sow[i] ;i++]]]]
{1,2,3,4,5,6,7,8,9,10}
>
> Is it possible to put a condition on Sow referring back to
> collection ? Something like:
>
> collection=Reap[i=1; While[i<=10,If[Length[First[Last[collection]] ]
>> 5,,Sow[i] ] ];]
It seems obvious that you can't since "collection" won't have any
value until you Reap what you have Sown.
>
> If not, - I have not seen any indication in Help either way - , what
> technique can be used to get a similar effect without resorting to
> global lists or arrays?
>
What do you mean by " a similar effect"? Is this a "similar effect":
collection = First[Last[
Reap[i = 1; While[i <= 10, If[i <= 5, Sow[i]]; i++]]]];
{1,2,3,4,5}
More seriously, probably you can make use of tags in Sow and Reap as in
Flatten[Last[ Reap[i = 1; While[i <= 10, Sow[i,i]; i++],_?(#<=5&)]]]
{1,2,3,4,5}
but that really depends on what you want to achieve which I can't
make out from your question.
Andrzej Kozlowski
- References:
- A Reap Sow question
- From: János <janos.lobb@yale.edu>
- A Reap Sow question