Re: Pure Function within a pure function
- To: mathgroup at smc.vnet.net
- Subject: [mg59297] Re: Pure Function within a pure function
- From: "Jens-Peer Kuska" <kuska at informatik.uni-leipzig.de>
- Date: Fri, 5 Aug 2005 01:21:25 -0400 (EDT)
- Organization: Uni Leipzig
- References: <dcsbi3$pub$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi, Select[#, (Length[#] == 4) &] & has no problem to map the Slot[] variables to the functions. You can see that the FullForm[] show you just the right grooping. b) if you have problems you can always use named function arguments Function[{list},Select[list, (Length[#] == 4) &]] Regards Jens <ggroup at sarj.ca> schrieb im Newsbeitrag news:dcsbi3$pub$1 at smc.vnet.net... | Hi, | | I'm wondering if it is possible to define a pure function within a | function, and if so, what syntax should I be using? | | I have some data that I want to filter, say: | | rawdata[[1]]= | time1 pt1-1 pt1-2 pt1-3 | time2 pt2-1 pt2-2 pt2-3 | time3 aborted! | | rawdata[[2]]= | time1 pta-1 pta-2 pta-3 | time2 aborted! | | I have a list of such data sets, and I want to apply a filter to remove | the "aborted" lines to each set. With a table command, this is fairly | easy: | | data = Table[ | Select[rawdata[[i]],Length[#]==4&], | {i,Length[rawdata]} | ] | | For readability (and lets face it, for pure asthetic value), I was | hoping to convert this to a function which I could map onto my rawdata | array. I tried something like: | | data = Select[#, Length[#]==4&]& /@ rawdata; | | But this doesn't work. I imagine the confusion is with the comparison | function Length[#]==4&, but I'm having no luck figuring out how to make | it less ambiguous. | | Any pointers would be much appreciated. | | Thanks! | | PS: I'm using version 5.2 on Windows. |