[python] python
Jarda Pachola
j_p_misc na centrum.cz
Čtvrtek Říjen 9 14:14:33 CEST 2003
Zdravim,
>
> Mozna je to kvuli tomu, ze Python neni Java nebo C nebo ObjectPascal,
> proste autocomplete v editoru udelat nejde (pokud zrovna nehodlate po
> kazde uprave kodu spoustet znovu interpretr a zjistovat co se bude dit).
>
> Vemte si treba funkci:
>
> def foo(x):
> x.
>
> Po x. by se mel rozbalit seznam vlastnosti, jenze jak ho asi zjistim?
>
> Python je dynamicky typovany jazyk, cili behem editace kodu nezjistite,
> ktera promenna ukazuje na jaky objekt!
No to je sice pravda, ale alespon castecne by to jit mohlo. Napadaji mne tri
moznosti, jak autocomplete resit:
1. Pokud uzivatel na stejne promenne, treba na tom x, pouzil nejaky atribut,
priste mu jej nabidnout (prubezne aktualizovany seznam atributu). To nektere
editory delaji; je to primitivni, ale pomaha to.
2. U klasickych knihoven vime, jake atributy ma instance urcite tridy. Kdyz
pouziju treba re.match(), dostanu budto None nebo MatchObject, u ktereho take
vim, co muzu cekat.
3. Pokud vime, o jakou tridu jde, muzeme u jeji instance nektere atributy
predpokladat.
Ten autocomplete nebude nikdy complete, jako u statickych jazyku, ale lepsi
neco nez nic, ne?
Jarda
Další informace o konferenci Python