DMUG-Archiv 2000

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

Re: Mathematica 3 und 4 inkompatibel?

Hallo,

also 
a) Klammern ! denn

Map[(k = #;
        Print["Berechne hier etwas mit k = ", k];) &, {1, 2, 5}];

macht was es soll. Sonst wird

(k = #1; (Print["Berechne hier etwas mit k = ", 
       k]; ) & ) /@ {1, 2, 5}; 

geparsed. Woran man leich sieht, dass die k=#1 Anweisung nicht mehr in
der Funktionsdefinition steht.

b) man kann nat"urlich die Funktionen immer mit Function[] ausschreiben
   also

Map[Function[{k},
      Print["Berechne hier etwas mit k = ", k]], {1, 2, 5}];

c) Wenn man kein Ergebnis ben"otigt sollte man Scan[] statt Map[]
benutzen.

d) Anhang 13 des Mathematica Buches b.z.w der Online-Hilfe listet die
wichtigsten auf.
   Allerdings steht die offenbar leicht ge"anderte Priorit"at von
CompoundExpression[] und Function[]
   nicht mit drin. 

Sch"ones Neues Jahr noch an alle Mathematica User &
Gruss
  Jens

Manfred Nölte wrote:
> 
> Hallo dmug,
> 
> aus Gründen besserer Lesbarkeit habe ich bei
> Mathematica 3.0 in zahlreichen nb-Files
> von folgendem Trick gebrauch gemacht:
> 
> Map[k=#;
>    Print["Berechne hier etwas mit k = ", k];&,{1,2,5}];
> 
> So konnte man anstelle der Print-Anweisung eine
> Berechnung mit "k" angeben und musste nicht das
> weniger lesbare "#" verwenden. Dies ist auch sehr
> nützlich bei mehreren Indizes:
> 
> Map[{i,j}=#;
>    Print["Berechne hier etwas mit {i,j} = ",{ i,j}];&,{{1,2},{4,5}}];
> 
> Dieser Trick scheint bei Mathematica 4.0 nicht mehr
> zu funktionieren.
> 
> 1. Gibt es in Mathematica 4.0 eine Möglichkeit "#"
>    durch Variablennamen zu ersetzen?
> 2. Welche Inkompatibilitäten zwischen den Versionen
>    3.0 und 4.0 sind weiterhin bekannt?
> 
> Ciao,
>     Manfred
 -------------------------------------------


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

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