DMUG-Archiv 2003

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: _?(ListQ[#1])&

On Mittwoch, 9. Juli 2003 12:46, Peter Klamser wrote:
> Hallo,
>
> ich würde gerne das Format einer Liste vorgeben, die einer Funktion
> übergeben werden darf.
>
> sp[polygon_?((ListQ[#1] && Length[#1] == 3) || (NumericQ[#1] && Length[#2]
> > 2)) &]:=Block[{BlaBlaBla},BlaBlaBla=polygon]
>
> Der Polygon soll das folgende Format haben:
>
> Entweder
>
> {9, {{0, 0, 1000}, {500, 0, 1000}, {500, 250, 1000}, ___}}
>
> oder
>
> {{0, 0, 1000}, {500, 0, 1000}, {500, 250, 1000}, ___}
>
> wobei ___ für eine beliebige Menge von Vektoren {x,y,z} steht.
>
> 1. Frage
>
> Was mach Mathematica bei Patternmatching mit _?(BlaBlaBla)&: Map, MapAll,
> Apply oder was?
@
(d.h.,   f_?t  matched genau dann wenn t@f True ist)
Siehe auch:
http://documents.wolfram.com/v5/TheMathematicaBook/PrinciplesOfMathematica/Patterns/2.3.5.html
Oder einen Mathematica-Kursus besuchen.

>
> 2. Frage
>
> Wie könnte die Funktion aussehen, die die obige Bedingung erfüllt?
Z.B.:
sp[poly:{_?NumericQ, {_Integer, _Integer,  _Integer}..} | {{_, _, _}..}] := 
  Block[{BlaBlaBla}, BlaBlaBla = poly]

MfG,

Rolf Mertig
Mertig Consulting
http://www.mertig.com
http://www.mathxls.com

>
> Danke :-)
>
> Freundlicher Gruß
>
> Peter Klamser



Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html