Frühere | Chronologischer Index | Spätere | ||
Vorherige | Thematischer Index | Nächste |
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. > > > >
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
Frühere | Chronologischer Index | Spätere | ||
Vorherige | Thematischer Index | Nächste |
DMUG-Archiv, http://www.mathematica.ch/archiv.html