Schönheitswettbewerb
bearbeitet von pl
> Ich halte dynamische Scoping-Regeln in jedem Fall für einen schweren Design-Fehler, ob in JavaScript, Java oder Perl. Dynamisches Scoping drückt aus: „Du findest hier nicht alle Informationen, die du brauchst, um diesen Code zu verstehen, weil ein paar Informationen erst zur Laufzeit eintreffen.“
Dann verstehe ich unter dynamischen Scoping wahrscheinlich was Anderes. Auf jeden Fall hat das was `local` macht nichts damit zu tun, daß Informationen erst zur Laufzeit eintreffen. Vielmehr das Gegenteil, denn `local` funktioniert nur mit Informationen die bereits vorhanden sind (Symboltabelle).
~~~perl
local @a = qw(a b c d e);
# Global symbol "@a" requires explicit package name
~~~
Gibt also eine Fehlermeldung, s.o.
MfG
Schönheitswettbewerb
bearbeitet von pl
> Ich halte dynamische Scoping-Regeln in jedem Fall für einen schweren Design-Fehler, ob in JavaScript, Java oder Perl. Dynamisches Scoping drückt aus: „Du findest hier nicht alle Informationen, die du brauchst, um diesen Code zu verstehen, weil ein paar Informationen erst zur Laufzeit eintreffen.“
Dann verstehe ich unter dynamischen Scoping wahrscheinlich was Anderes. Auf jeden Fall hat das was `local` macht nichts damit zu tun, daß Informationen erst zur Laufzeit eintreffen. Vielmehr das Gegenteil, denn `local` funktioniert nur mit Informationen die bereits vorhanden sind (Symboltabelle).
~~~perl
local @a = qw(a b c d e);
# Global symbol "@a" requires explicit package name
~~~
Gibt also eine Fehlermeldung.
MfG
Schönheitswettbewerb
bearbeitet von pl
> Ich halte dynamische Scoping-Regeln in jedem Fall für einen schweren Design-Fehler, ob in JavaScript, Java oder Perl. Dynamisches Scoping drückt aus: „Du findest hier nicht alle Informationen, die du brauchst, um diesen Code zu verstehen, weil ein paar Informationen erst zur Laufzeit eintreffen.“
Dann verstehe ich unter dynamischen Scoping wahrscheinlich was Anderes. Auf jeden Fall hat das was `local` macht nichts damit zu tun, daß Informationen erst zur Laufzeit eintreffen. Vielmehr das Gegenteil, denn `local` funktioniert nur mit Informationen die bereits vorhanden sind.
MfG