Edit detail for Chameleon revision 2 of 1

2
Editor: geon
Time: 2008/04/02 10:10:50 GMT+2
Note:

changed:
-
Chameleon v Pythonu
====================

Dotaz
-----
Zdravim,

je neco podobneho jako chameleon v php v pythonu? V PHP to vypada takto::

    $a = "aa";
    ${$a} = "bb";
    echo $aa; // vyechuje bb

Odrazování
---------------------------

Pokud toto někdo potřebuje, ať v Pythonu, nebo v PHP, zcela 
jistě dělá prasárny, které tam vůbec nemusí být. Ale v dynamických 
jazycích, které mají proměnné založené na seznamu jmen dynamicky 
tvořeném za běhu (PHP, Python, Objective C, Smalltalk, ...) se prostě 
najde vždycky někdo, kdo "bez proměnných ukazující na jméno proměnné" 
nemůže být.

Přesto uvádíme řešení, protože je lepší něco než nic.



Řešení
---------
::

    neco='chameleon'
    locals()[neco]='Python je had.'
    print chameleon


Lepší řešení bez chameleona
.............................
::

    slovnik={}
    slovnik["chameleon"]="Python je had."
    print slovnik["chameleon"]
    
    


Chameleon v Pythonu

Dotaz

Zdravim,

je neco podobneho jako chameleon v php v pythonu? V PHP to vypada takto:

$a = "aa";
${$a} = "bb";
echo $aa; // vyechuje bb

Odrazování

Pokud toto někdo potřebuje, ať v Pythonu, nebo v PHP, zcela jistě dělá prasárny, které tam vůbec nemusí být. Ale v dynamických jazycích, které mají proměnné založené na seznamu jmen dynamicky tvořeném za běhu (PHP, Python, Objective C, Smalltalk, ...) se prostě najde vždycky někdo, kdo "bez proměnných ukazující na jméno proměnné" nemůže být.

Přesto uvádíme řešení, protože je lepší něco než nic.

Řešení

neco='chameleon'
locals()[neco]='Python je had.'
print chameleon

Lepší řešení bez chameleona

slovnik={}
slovnik["chameleon"]="Python je had."
print slovnik["chameleon"]