cljめも #2

環境

Emacsのciderでreplが出ない & IntelliJ IDEAが恋しくなった(こっちのほうが大きい) ので環境をIntellJ IDEA + Cursive に移行した。

IntellJ IDEAのキーバインドEmacsの選択があってもやっぱり微妙なところがある。 でも最低限使えるようにちょいちょいいじっているので、いい感じになったら別にまとめようと思う。

処理を別ファイルに分ける

Javaとかならimportしてnewしてとかすればいいとか何となくわかっていたけどclojureだとどうすればいいのか分からんかった...。

leiningenでnewしたやーつを想定して書いておく。

$ lein new sample
$ cd sample
$ emacs src/sample/newfile.clj

のあと以下を記述。

;; src/sample/newfile.clj
(ns sample.newfile)

(def my-value 10)
(def my-key {:key "keykey"})
(defn hello-str [x] 
  (str x " hello!!"))

そしてmain(今回はcore.clj)のほうでは:requireを定義する感じのやーつのようだ。

;; src/sample/core.clj
(ns sample.core
  (:require [sample.newfile :as newfile]))

(defn -main []
  (do (println newfile/my-value)
   (println (newfile/my-key :key)
      (println (newfile/hello-str "ほげ")))))

lein runすると

10
keykey
ほげ hello!!

と出力される。