Drkcore

24 09 2009 Clojure Tweet

Programming Clojure chapter 1

導入

ProductName Programming Clojure (Pragmatic Programmers)
Stuart Halloway
Pragmatic Bookshelf / ¥ 3,198 ()
在庫あり。

定番の

user=> (defn hello [name] (str "Hello, " name))
#'user/hello
user=> (hello "kzfm")
"Hello, kzfm"
user=> (hello "clojure")
"Hello, clojure"
user=> (str *1 " and " *2)
"Hello, clojure and Hello, kzfm"

エラーが出たときにstacktrace

user=> (/ 1 0)
java.lang.ArithmeticException: Divide by zero (NO_SOURCE_FILE:0)
user=> (.printStackTrace *e)
java.lang.ArithmeticException: Divide by zero (NO_SOURCE_FILE:0)
    at clojure.lang.Compiler.eval(Compiler.java:4543)
        at clojure.core$eval__3990.invoke(core.clj:1728)
    at clojure.main$repl__5813$read_eval_print__5825.invoke(main.clj:176)
    at clojure.main$repl__5813.doInvoke(main.clj:193)
    at clojure.lang.RestFn.invoke(RestFn.java:426)
    at clojure.main$repl_opt__5853.invoke(main.clj:247)
    at clojure.main$legacy_repl__5878.invoke(main.clj:288)
    at clojure.lang.Var.invoke(Var.java:346)
    at clojure.main.legacy_repl(main.java:29)
    at clojure.lang.Repl.main(Repl.java:20)
Caused by: java.lang.ArithmeticException: Divide by zero
    at clojure.lang.Numbers.divide(Numbers.java:138)
    at user$eval__16.invoke(NO_SOURCE_FILE:6)
    at clojure.lang.Compiler.eval(Compiler.java:4532)
    ... 9 more
nil

requireでなくてuseを使うのはpythonでいうimport some_moduleでなくて from some_module import * をしている感じ

lancetっていうビルドシステムも用意されている(RubyのRakeみたいなもの?)

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021