Prikaz ++i by mel byt prohlasen za syntakticky nespravny
(RE:[python] kritika slovniku terminu Pythonu)
Petr Prikryl
Prikryl na skil.cz
Úterý Srpen 26 13:09:54 CEST 2003
Jan Samohyl napsal...
> pepr napsal...
> > [...] Netvrdím, ?e se "?ádná
> > funk?nost" p?íkazu ++i nedá rozumn? vysv?tlit. Tvrdím jen
> > to, ?e je to matoucí. Pokud chcete psát záporný výraz, asi
> > nenapí?ete nikdy ---x. Pokud ale pracujete v C/C++, pak
> > se velmi ?asto seknete a napí?ete ++i místo i += 1.
>
> To je prave ono, matouci je to jenom pro toho, kdo zna C/C++,
> jinak ne. Myslim, ze C/C++ je tady ve skutecnosti spatne, a ze
> pouzivani ++x misto x+=1 nebo x++ by se melo (v C) zakazat
> (beztak jsou to jen zkratky). A vubec spousta veci v Pythonu je pro
> Cckare zprvu matouci, a napravovat to by byl nesmysl.
C a C++ jsou asi hlavní jazyky, ve kterých se píšou ne-pythonovské
implementace pythonovských modulů.
V čem je se srozumitelnost ++x liší od srozumitelnosti x += 1 ?
Oba tyto obraty pocházejí z C. Jiné jazyky vyžadují x = x + 1.
Zatím jsem neměl pocit, že by mě Python v ostatních věcech nějak
mátl. Věci, které vypadají stejně, se i podobně chovají (nebo
se chovají očekávaným způsobem). Když někde uvidím zápis
"++x", pak to prostě nepovažuji za totéž co "x". Automaticky
předpokládám, že k zápisu dvou plus musí být nějaký důvod.
Na základě znalosti C předpokládám, že se jedná o inkrementaci.
> > A? po dlouhém bádání pak zjistíte, pro? ten vá? program
> > nefunguje. Toto je jádro mé námitky. Práv? proto si myslím,
> > ?e pro ++i by Python m?l hlásit syntaktickou chybu nebo
> > varování. V tomto smyslu jsem vznesl nám?t RFE 794519.
>
> Blbost. Co kdyz si nekdo predefinuje operator prefixove +
> tak, ze nebude idempotentni, a bude se mu pak hodit ++++a apod.?
Nenapadá mě důvod, proč bych si chtěl nějakým způsobem
předefinovat operátor unární plus. Hlavně mě nenapadá,
v čem by to pak mohlo zpřehlednit zápis programu.
pepr
Další informace o konferenci Python