[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