Portál AbcLinuxu, 21. května 2025 13:43
má sice skvěle imlementováno OOP, ale obsahuje nechutný příkaz switchNechápu, jaký je v tom rozpor. Naopak, rubí switch by bez rubího OOP nefungoval, protože jeho podstatou je porovnávat zadaný objekt s alternativami pomocí metody
===
(objektové! přetížitelné! přizpůsobitelné! <blok> ; while(<podmínka>) <blok>
jako blbec?
ale hrozně se váže na EmacsVýborná pohádka na dobrou noc. Dík, hned se mi bude líp spát. Ne, opravdu k programování ve scheme nepotrebujes Emacs
je v praxi špatně použitelný....a proto v něm kamarád programuje špičkové realtimové měřicí přístroje.
Nějak nevím, nechce se mi učit nic, k čemu není dostupná čitelná dokumentace.Je opravdu řeč o Scheme?
U unless a until mě štve jen jejich naprosto zbytečná existenceUff, nechci vidět, jak byste se tvářil na jazyky, které mají cyklus s podmínkou uprostřed!
virgin=1; while(condition||virgin){ blok; virgin=0; }
Může mi někdo z "odpíračů SWITCHe" říct, jak implementujete konečný automaty/lexikální analyzátory (pomocí řídící struktury) bez switche? Ten kód hemžící se if-ama musí bejt děsně sexy... (Na to, že by to někdo řešil "objektově" nějakym polymorfizmem se ani neodvažuju pomyslet)
if (blablabla): pass elif (blablabla): pass ... else: pass
# pro vycet 0..n switch1 = ( fce1, fce2, fce3, fce4 ) # obecna verze pomoci slovniku switch = {'hodnota1' : fce1, 'hodnota2' : fce2} # vlastni switch switch[x](argumenty)Výhoda je, že jsou tyto konstrukce modifikovatelné za běhu programu, což hromada ifů, nebo case ... switch není
ale ako take nieco clovek spravi s if-elif-else, to fakt netusim :o)Hmm, na to stačí jednoduché makro s lokální datovou strukturou, do které se napchají jednotlivé alternativy a při rozhodování se z ní jen vytáhne blok kódu a zavolá...syntakticky dietní, sémanticky výkonné.
Když má jazyk bloky, switch ve specifikaci jazyka nepotřebuje.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.