Vlákno názorů k článku Úpravy Emacsu s Emacs Lisp: všemocné makro cl-loop a knihovna dash od Tomas Z - Tak tohle bylo opravdu důkladné :) Trochu mne překvapilo,...

  • Článek je starý, nové názory již nelze přidávat.
  • 11. 9. 2018 7:26

    Tomas Z (neregistrovaný)

    Tak tohle bylo opravdu důkladné :)

    Trochu mne překvapilo, že elisp povoluje ne-CL syntax finally return - v CL to je finally (return ...), ale je to opravdu tak.

    Jedna článkem zdá se nepokrytá past je to, že klausule when (obdobně jako další) pokrývá jen následující klausuli, takže

    (cl-loop for i from 0 to 10
                 when (oddp i)
                 count i into counter
                 sum i into total
                 finally return (list total counter))

    vrací (55 5), nikoliv (25 5) jak by snad jeden čekal - k tomu by bylo třeba sum změnit na and sum. Možná i proto je častější vidět klauzule včetně do začínat na začátku řádku, ne jako v článku uprostred nebo na konci řádku.

  • 11. 9. 2018 9:06

    Pavel Tišnovský
    Zlatý podporovatel

    Díky za doplnění!

    (ten factorial už je taky napsán správně s lokální proměnnou :-)