RE: How to Return from within a Table[]-Command?
- To: mathgroup at smc.vnet.net
- Subject: [mg33764] RE: [mg33728] How to Return from within a Table[]-Command?
- From: "David Park" <djmp at earthlink.net>
- Date: Thu, 11 Apr 2002 02:14:33 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Detlef,
Use Throw and Catch.
Divide2[L_List] :=
Catch[Module[{newlist},
newlist =
Table[
If[IntegerQ[L[[i]]],
i/2,
Throw["vector not valid."];
]
, {i, 1, Length[L]}
];
newlist
]]
Divide2[{2, 3, a}]
"vector not valid."
Divide2[{2, 3, 4.5}]
"vector not valid."
Divide2[{2, 3, 4}]
{1/2, 1, 3/2}
David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/
> From: Detlef Mueller [mailto:dmueller at mathematik.uni-kassel.de]
To: mathgroup at smc.vnet.net
>
>
> Hello,
>
> I wanted to scan trough al List, building a new
> List, but aborting, if one Element of the first
> List violates a special Condition ...
> say for example:
>
> Divide2[L_List] := Module[{},
> Table[
> If[IntegerQ[L[[i]]],
> i/2,
> Return["vector not valid."];
> ]
> , {i, 1, Length[L]}
> ]
>
> ...
>
> ]
>
> But this results:
>
> In[13]:= Divide2[{2,3,a}]
> Out[13]= {1/2, 1, Return["vector not valid."]}
>
> Wich is of course not what I want.
>
> Greetings
>
> Detlef
>