Hlavní navigace

Názor ke zprávičce Kritika objektového programování: je to katastrofa? od Ondřej Novák - myslíte counter? No to byl příklad. Ale já...

  • 23. 7. 2019 14:53

    Ondřej Novák

    myslíte counter? No to byl příklad. Ale já takle mám dělané streamy.

    function parse(stream) {... whatever....}
    
    function create_string_stream(string) {
        var s = string;
        var l = string.length;
        var i = 0;
        return function() {
              if (i >= l) return null; else return s.charAt(i++);
       }
    }
    $ var s = create_string_stream("hello world")
    undefined
    $ s()
    "h"
    $ s()
    "e"
    $ s()
    "l"
    $ s()
    "l"
    $ s()
    "o"
    $ s()
    " "
    $ s()
    "w"
    $ s()
    "o"
    $ s()
    "r"
    $ s()
    "l"
    $ s()
    "d"
    $ s()
    null
    $ s()
    null

    Zkuste si v prohlížeči. Parser samozřejmě očekává funkci co vrací další znak dokud není konec streamu. Mam plnou svobodu mu jako zdroj znaků poskytnout cokoliv.

    Jinak používám javascript k vyjádření algoritmu. Všechny tyhle postupy používám v C++. Ale to si asi těžko vyzkoušíte