ZB
2008-06-13 18:50:52 UTC
Sądzę, że wartałoby ten rozdział uzupełnić jasnym stwierdzeniem, że te
"przestrzenie nazw" to tak naprawdę jeden wielki pic, i że (prawie) równie
dobrze działałoby po prostu wydłużanie nazw procedur/zmiennych odpowiednimi
przedrostkami, np. zamiast ::moja_przestrzen::puts może być równie dobrze:
__moja_przestrzen__puts - i mamy z grubsza to samo: nazwę procedury, która
nie koliduje ze "standardowym" puts.
Oczywiście, trochę upraszczam - ale przecież naprawdę tylko trochę... taki
kawał miejsca jest temu poświęcony w manualu - a to w sumie sprowadza się
jedynie do wydłużenia nazw procedur/zmiennych, które przecież w efekcie
wszyściutkie - co do jednej - i tak znajdują się w "przestrzeni globalnej".
A zatem odróżniane są jedynie po przeraźliwie długiej nazwie. Wszystkie te
"namespace eval" to tylko "chwilowe zezwolenie" na posługiwanie się nazwą
bez przedrostka, bo jakiś automat go doda "w imieniu użytkownika".
"przestrzenie nazw" to tak naprawdę jeden wielki pic, i że (prawie) równie
dobrze działałoby po prostu wydłużanie nazw procedur/zmiennych odpowiednimi
przedrostkami, np. zamiast ::moja_przestrzen::puts może być równie dobrze:
__moja_przestrzen__puts - i mamy z grubsza to samo: nazwę procedury, która
nie koliduje ze "standardowym" puts.
Oczywiście, trochę upraszczam - ale przecież naprawdę tylko trochę... taki
kawał miejsca jest temu poświęcony w manualu - a to w sumie sprowadza się
jedynie do wydłużenia nazw procedur/zmiennych, które przecież w efekcie
wszyściutkie - co do jednej - i tak znajdują się w "przestrzeni globalnej".
A zatem odróżniane są jedynie po przeraźliwie długiej nazwie. Wszystkie te
"namespace eval" to tylko "chwilowe zezwolenie" na posługiwanie się nazwą
bez przedrostka, bo jakiś automat go doda "w imieniu użytkownika".
--
ZB
ZB