Clojure REPL stores the latest results in *1, *2, *3, exception in *e
source link: https://blog.jakubholy.net/2013/08/24/clojure-repl-stores-the-latest-results-in-1-2-3-exception-in-e/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Clojure REPL stores the latest results in *1, *2, *3, exception in *e
*1
, *2
, and *3
. The last exception that has occured is stored in *e
.Example:
;; Inside lein repl, with the user=> prefix removed and output prefixed with ;; =>
1
;; => 1
2
;; => 2
3
;; => 3
4
;; => 4
(println "results - latest:" *1 "prev:" *2 "oldest:" *3)
;; => results - latest: 4 prev: 3 oldest: 2
;; => nil
(/ 42 0)
;; => ArithmeticException Divide by zero clojure.lang.Numbers.divide (Numbers.java:156)
(println "res" *1 "exception" *e)
;; => res nil exception #<ArithmeticException java.lang.ArithmeticException: Divide by zero>
;; => nil
Notice that
clojure.repl
defines in its namespace some very useful functions and macros such as find-doc
, doc
, source
, apropos
, dir
(prints a sorted list of public vars in a ns; ex.: (dir clojure.repl)
), (root-cause throwable)
- check out their docs at ClojureDocs/clojure.repl.
Are you benefitting from my writing? Consider buying me a coffee or supporting my work via GitHub Sponsors. Thank you! You can also book me for a mentoring / pair-programming session via Codementor or (cheaper) email.
Allow me to write to you!
Let's get in touch! I will occasionally send you a short email with a few links to interesting stuff I found and with summaries of my new blog posts. Max 1-2 emails per month. I read and answer to all replies.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK