Komentáře k článku

Elm – Hello world on the map – začínáme

Do minulého dílu se nevešla ani řádka kódu, pojďme se tedy vrhnout po hlavě do vody, vlastně po hlavě do Elmu. Výklad pokračuje v komentářích uvedeného příkladu, přibližujeme se tím ideálům literárního programování sazeče, matematika a programátora Donalda E. Knutha. Kdo si nestihl osvojit základy jazyka Elm, tak si na Y minut odskočí.

Zpět na článek

8 komentářů k článku Elm – Hello world on the map – začínáme:

  1. vojta tranta

    Drobnost
    Drobná korekce: Store není model – state je model, spíš, ne?

    Já jsem zrovna taky začal s Elmem a je to bomba, takže se moc těším na další díl! Díky!

    1. Petr BolfAutor příspěvku

      Re: Drobnost
      Dík. To máš určitě pravdu, to mám špatně. Pokud je update : Msg -> Model -> Model v Elmu něco jako function reducer (state, action){...} v Reduxu, pak je samozřejmě model v Elmu vlastně totéž co state v Reduxu.

  2. Jan

    Další drobnost

    Každý správný program začíná funkcí main.
    Programátoři znalí některého z jazyků jako například C, Java, nebo Python apod. se tomu nediví.

    Python nemá nic jako vstupní bod, funkce main je jen konvence a je nutno ji zavolat.

    1. Martin Hassman

      Re: Další drobnost

      To je myslím v pořádku, v textu se netvrdí, jak se s main v Pythonu zachází, jen to, že není Python programátorům neznámá. A zdá se, že opravdu není 8-)

    2. Petr BolfAutor příspěvku

      Re: Další drobnost
      No vlastně jo, je to tak. V Pythonu jsem toho psal docela dost, if _name__ == '__main__' jsem psal vždy, ale hlavní funkce se ne vždy jmenovala main a někdy byl kód za tou podmínkou i dost složitý. Už jsem skoro úplně zapomněl, že to vše je jen konvence :-)

      1. Petr BolfAutor příspěvku

        Re: Další drobnost
        Jen teda ještě doplním, že Elm vyžaduje aby v programu byla funkce main. Dám ruku do ohně za to, že pokud tato funkce chyběla, pak selhala kompilace. Je dost možné, že se toto chování změnilo (snad jako cesta k budoucímu kompilování knihoven). Když jsem to teď zkoušel, tak kompilace proběhla, a selže to až v browseru při volání javascriptové funkce Elm.Main.fullscreen(), případně Elm.Main.worker() nebo Elm.Main.embed(el).

        Ke cti Elmu nutno říci, že chybu v browseru oznámí přehlednou hláškou:

        Oops! Something went wrong when starting your Elm program.

        Cannot initialize module `Main` because it has no `main` value! What should I show on screen?

        1. Marek Fajkus

          Re: Další drobnost
          Kompilace by neselhala. Spousta modulu Main nemá (vše ze standard library). Tyto moduly jen exposuji funkce pro další moduly. Pokud se ale člověk snaží zvolit modul bez main jako vstupní, zahlasí se (myslím pouze v runtime), že není co zobrazit, protože modul neobsahuje main.

  3. segedacz

    Děkuji
    Děkuji za seriál!

    Zrovna asi řeším něco podobného a tak se těším, že mě další díly případně popostrčí.

    Jen bych doplnil, že firebase se dá použít nejen na ukládání dat, ale i jako ten jednoduchý hosting.

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=18736