Názory k článku
Programovací jazyk Lua a koprogramy
atarist (neregistrovaný)
12. 5. 2009 12:45
Nový
Lua vs Generatory v Pythonu
celé vlákno
Z toho tretiho odkazu, kde se porovnavaji koprogramy v Lua a generatory Pythonu mi neni uplne jasny ten vnitrni rozdil mezi nimi. Python (resp. stackless Python) se chlubi tim, ze vlakna nemaji (?) vlastni zasobnik, ale asi se tim mysli, ze nemaji spolecny oddeleny ceckovy zasobnik (stack frame), protoze lokalni promenne prece musi byt oddelene od hlavniho vlakna ne? V Lua mi to pripadne jasne, tam je to reseno knihovni funkci, ktera vlastni zasobnik pro koprogram vytvori pomoci pole (ceho taky jineho?).
Inkvizitor (neregistrovaný)
12. 5. 2009 22:27
Nový
Re: Lua vs Generatory v Pythonu
celé vlákno
"Lokální proměnné" jsou v Pythonu (stejně jako všechny ostatní) přístupné pomocí jména v příslušném slovníku a nikoliv pomocí adresy v zásobníku.
atarist (neregistrovaný)
12. 5. 2009 22:32
Nový
Re: Lua vs Generatory v Pythonu
celé vlákno
Dobre, ale to pojmenovani tedy musi byt odvozeno i od threadu, ve kterem jsou promenne definovany ne? Predpokladejme, ze mam jednu funkci s lokalni promennou "foo", kterou spustim ve 100 threadech. Takze se vytvori 100 slovniku, kazdy s jednou polozkou s klicem "foo"?
Inkvizitor (neregistrovaný)
13. 5. 2009 0:15
Nový
Re: Lua vs Generatory v Pythonu
celé vlákno
Jak na to koukám, tak to vypadá, že tam figurují 2 kontejnery: "locals" a "fast locals". Zatímco "locals" fungují jako klasický slovník, "fast locals" jsou uloženy sekvenčně. Pokud vytvořím proměnnou pomocí exec, dostane se do locals a dá se do ní psát pomocí currentframe().f_locals, v případě, že proměnnou vytvořím "normálně", není to možné. Takže jsem to moc zjednodušil, sorry.
atarist (neregistrovaný)
13. 5. 2009 11:31
Nový
Re: Lua vs Generatory v Pythonu
celé vlákno
diky za odpoved, uz me je to jasnejsi. Podobne asi budou reseny uzavery, jak predpokladam.

