 
 
 
 
 
 
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.
| 

