Vlákno názorů k článku Clojure aneb jazyk umožňující tvorbu bezpečných vícevláknových aplikací pro JVM (4.část - kolekce, sekvence a lazy sekvence) od František - Děkuji za článek. Několik poznámek: 1) Smyčka while nepotřebuje 'do'...

  • Článek je starý, nové názory již nelze přidávat.
  • 29. 7. 2012 15:32

    František (neregistrovaný)

    Děkuji za článek.

    Několik poznámek:
    1) Smyčka while nepotřebuje 'do' a proto funguje také

    (def a 10)

    (while (pos? a)
    (println a)
    (def a (dec a)))

    2) V definici vektoru
    (def vektor ['a' 'b' 'c' 'd' 'e' 'f'])
    ve skutečnosti vytváříte vektor symbolů a ne znaků, jak jste zřejmě zamýšlel.

    Zápis 'a' vytvoří symbol a' - symbol s apostrofem na konci.

    => 'a'
    a'
    => (class 'a')
    clojure.lang.Symbol
    => \a
    \a
    => (class \a)
    java.lang.Character
    => (str \z \n \a \k \y \space \s \e \space \p \i \s \i \space \t \a \k \t \o)
    "znaky se pisi takto"
    => (str "mezera" \space "tabulator" \tab " a odradkovani" \newline "novy radek")
    "mezera tabulator\t a odradkovani\nnovy radek"
    => (print (str "mezera" \space "tabulator" \tab " a odradkovani" \newline "novy radek"))
    mezera tabulator a odradkovani
    novy radek

  • 29. 7. 2012 16:24

    František (neregistrovaný)

    PS: Hezky to je vidět například takto:

    => (seq "znaky se pisi takto")
    (\z \n \a \k \y \space \s \e \space \p \i \s \i \space \t \a \k \t \o)
    => (seq "\t \n\r")
    (\tab \space \newline \return)