Schrift
[thread]7459[/thread]

globales package? (Seite 2)

Leser: 1


<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten
GwenDragon
 2005-11-11 18:00
#59965 #59965
User since
2005-01-17
14536 Artikel
Admin1
[Homepage]
user image
"My, o My" sagte die fränkische (vormals münchnerische) Perl-Programmiererin als sie nichts mehr verstand.

Froschpopo denkt irgendwie andersrum.

I man ois mir Infoarmadig-Leit dan. Su an dösbaddl. Mal su mal su. Na, des mochd mi no ganz bleed. Übersetzung nur gegen Nachweis der Boarischen oder Frängischen Staatsbürgerschaft!\n\n

<!--EDIT|GwenDragon|1131725180-->
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

nepos
 2005-11-11 18:09
#59966 #59966
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Brauchts koa Uebersetzung :P
betterworld
 2005-11-11 18:24
#59967 #59967
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
[quote=GwenDragon,11.11.2005, 13:53]Nein, du änderst NICHT eine globale Variable, sondern die Variable $anfang::sessionid. Und die existiert im Package anfang.

Global und Lokal. Irgendwie bringst du das durcheinander.[/quote]
Ich wuerde das aber schon als globale Variable bezeichnen. Was waere denn sonst eine globale Variable? Eine Variable im Paket main? Da ist doch irgendwie kein wirklicher Unterschied zwischen main:: und anfang::. Das Entscheidende ist, dass die Variable nur einmal existiert, d. h. fuer alle Threads nur einmal und fuer alle Subs nur einmal.
GwenDragon
 2005-11-11 18:34
#59968 #59968
User since
2005-01-17
14536 Artikel
Admin1
[Homepage]
user image
@betterworld

Ja, sie ist nicht wirklich lokal im Sinne der Informatikerin.
Das Package sow wie in Froschpopos Code bietet ja keine richtige Kapselung.

Die Variable wird ja nicht dynamisch über ein new-Konstrukt erzeugt.

Ich habe anscheinend auch Verständnisprobleme im Sinne der Definition von lokal-global.\n\n

<!--EDIT|GwenDragon|1131727166-->
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

Froschpopo
 2005-11-11 21:15
#59969 #59969
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
dann sollten wir das thema umbennen in: Was ist local und was global?

Sehr interessant :-)
pq
 2005-11-12 00:00
#59970 #59970
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
ich würde sagen, alles, was nicht lexikalisch ist, ist global.
solche globalen variablen kann man jedoch mit local() für einen bestimmten
gültigkeitsbereich überschreiben. packagevariablen sind also global.
einwände? andere definitionen?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
betterworld
 2005-11-12 00:27
#59971 #59971
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Nein, genau so wuerde ich das auch sagen. Und GwenDragon scheine ich ja nun auch ueberzeugt zu haben :)
sri
 2005-11-12 01:52
#59972 #59972
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
Der Zugriff auf Inhalte eines anderen Namespace macht diese noch lange nicht global (hoechstens global erreichbar).
Bis auf ein paar kleinere Ausnahmen ist in Perl nichts global.

ACHTUNG: Dies ist nur ein Beispiel und sollte auf keinen Fall benutzt werden!!!
Code: (dl )
1
2
3
4
5
6
7
8
9
10
package UNIVERSAL;

sub foo () { 23 }

package main;

warn main->foo;
warn Foo->foo;
warn Bar->foo;
warn Baz->foo;
\n\n

<!--EDIT|sri|1131753403-->
pq
 2005-11-12 02:52
#59973 #59973
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
was ist denn dann deiner definition nach global? und wieso ist $main::bla nicht global?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
sri
 2005-11-12 05:05
#59974 #59974
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
Wie schon im irc channel gesagt (hier nochmal fuer alle), ich unterscheide nochmal zwischen global, im sinne von UNIVERSAL::, CORE::, Internals:: (was ja quasi mixin klassen fuer ALLE klassen sind)... und global zugaenglichen daten die zu einem einzigen namespace gehoeren wie $main::foo...

Es ist aber alles nur ansichtssache, und perldoc -f our sagt auch globals:
Quote
An "our" declares the listed variables to be valid globals within the enclosing block, file, or "eval".
<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten



View all threads created 2005-11-11 13:53.