DMUG-Archiv 2020

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

Re: [Dmug] Aufgabe::OperatorApplied

Hi,

bei diesem Beispiel

With[{s = Union[c = Characters[str]]}, ...]

muss man vorsichtig sein. Die Variable c wird hier nicht lokalisiert
und nach dem Ausführen existiert ein Global`c mit der Liste der Zeichen
von str. Damit kann man sich womöglich in den Fuss schießen und wenn
man s und c ohnehin nicht lokal halten will, dann kann man auch gleich

s=Union[c=Characters[str]];c/.Inner[Rule,s,Range[Length[s]],List]

schreiben.

Und vielleicht als Neben-Info. Es gibt mehr als einen Parser. Der
Parser des Kernels versteht die chained Withs, sonst würde die
Evaluierung nicht klappen. Allerdings benutzt das Notebook Front End
einen anderen Parser, um den Code farblich zu kennzeichnen. Letzterer
ist es, der den "neuen" Syntax noch nicht versteht.

Cheers
Patrick


On So, 2020-03-22 at 08:50 +0100, Susanne & Udo Krause wrote:
> Hallo nocheinmal,
> 
> 
> Am 22.03.2020 um 08:08 schrieb Susanne & Udo Krause via demug:
> > 
> > Gut ist auch, dass man mit
> > 
> > With[{...},{...}, ...]
> > 
> > aufeinander bezügliche Definitionen im With[] anbringen kann. 
> 
> allerdings schreibt der Parser den Einzeiler teilweise rot an (vgl. 
> bitte with-chained-locals), das tut er bei dieser Version
> 
> 
> In[17]:= mapPS2 = With[{s = Union[c = Characters[str]]}, c /. 
> Inner[Rule, s, Range[Length[s]], List]]
> Out[17]= {17, 12, 10, 6, 13, 2, 11, 1, 8, 2, 15, 1, 14, 9, 3, 8, 1,
> 17, 
> 2, 14, 1, 2, 16, 14, 7, 5, 4, 2, 3, 8, 15}
> 
> 
> nicht - anscheinend ist die Darstellung für den Kernel identisch
> 
> 
> In[4]:= Through[{LeafCount, ByteCount, Length}[With[{c = 
> Characters[str]}, {s = Union[c]},  c /. Inner[Rule, s,
> Range[Length[s]], 
> List]]]]
> 
> Out[4]= {32, 784, 31}
> 
> In[5]:= Through[{LeafCount, ByteCount, Length}[With[{s = Union[c = 
> Characters[str]]}, c /. Inner[Rule, s, Range[Length[s]], List]]]]
> 
> Out[5]= {32, 784, 31}
> 
> 
> with other words, the parser is a sissy with with.
> 
> 
> 
> Grüsse
> 
> Udo.
> 
> 
> 
> 

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
DMUG Deutschsprachiges Mathematica-Forum demug@XXXXXXX.ch
http://www.mathematica.ch/mailman/listinfo/demug
Archiv: http://www.mathematica.ch/archiv.html
Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

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