Hlavní navigace

Názor k článku Perl nebo Python? od Jakub Hegenbart - Já si jen dovolím podotknout, že typické smalltalkovské...

  • Článek je starý, nové názory již nelze přidávat.
  • 5. 11. 2005 21:33

    Jakub Hegenbart
    Já si jen dovolím podotknout, že typické smalltalkovské řešení není předání metody jako callbacku, ale předání bloku ;-) Takže předám něco jako
    y zavolejAPředejBlok: [ x y | objekt zavolejMetoduSParametrem: x]
    místo
    y volejObjekt: x seSelektorem: #zavolejMetoduSParametrem:
    . Je to „smallatlkovský pseudokód“, nároky na syntaktickou správnost si nekladu, ale asi chápete. :-D Ale jak vidíte, pokud chcete přímo předat „vázanou metodu“ (říkám to správně po Pythonovsku? :-)), můžete taky. Jen to není obvyklé. Občas se hodí reference na metodu, občas je lepší anonymní blok kódu - má jakožto uzávěr přímý přístup k lokálním proměným volající metody a umožňuje tak tvorbu vlastních řídicích konstrukcí a interních iterátorů. (Externí iterátory člověk může samozřejmě používat taky. ;-)) Ruby se podvolí obojímu. :-) Osobně mi přijde, že oba způsoby mají svá pro a proti a že z typické směsky use-cases vyjdou v průměru tak nějak nastejno. Takže pak už je to jen otázka preferencí. ;-)