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>