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