[python] Python a xml
Zdenek Pavlas
pavlas na nextra.cz
Středa Srpen 17 14:46:47 CEST 2005
Michal Koudelka wrote:
> .. trakze muzes mit konstrukci
>
> metoda param1, param2, param3
>
> Zavorky se vetsisnou pouzivaji jen u slozitejsich matematickych vyrazu.
Myslel jsem slozene zavorky u bloku- Pythonske otevirani
a ukoncovani bloku pomoci zmeny odsazeni je genialni a velmi
citelne. Slozene zavorky jsou zbytecne smeti, Ruby je bohuzel
opravdu hodne svihnutej do Per^H^H^Hvsak-vite-ceho.
> V ruby nemusim psat v kazde metode jako parametr self
Ano, deklarovat metodu jako M(A,B,C), a volat ji jako A.M(B,C)
je hodne nekonzistentni. Naopak explicitne uvadet self v kodu
metody je ohromne plus.
V C++ byla vzdy katastrofa pochopit trivialni kousek kodu
bez predchoziho nastudovani vsech spagetoznich headeru,
okorenenych ruznymi #ifdefy.
> a iteratory ma vyresene opravdu luxusne... priklad:
> array = [1,2,3,4,5,6]
> array.each { |value| puts value}
Jenze tohle *neni* iterator, ale pouhy callback.
Je to funkcne identicke s pythonovskym:
import sys
def each (list, code):
for i in list:
code (i)
array = [1, 2, 3, 4, 5, 6]
each (array, lambda value: sys.stdout.write ('%d\n' % value))
Takze iteratory Ruby vubec nema? Myslim neco jako:
>>> array = [1,2,3,4,5]
>>> i = iter (array)
>>> i.next ()
1
>>> i.next ()
2
>>> list (i)
[3, 4, 5]
Ne ze by to k necemu bylo dobre, obvykle chce clovek
vsechny elementy zpracovat stejnym blokem kodu, takze
callback staci.
--
Zdenek
Další informace o konferenci Python