Clojureのnsマクロ

前置き

nsマクロの書き方をすぐ忘れてしまうのでメモっておきます。

良くあるパターン

(ns my.lib.core
  (:use           ;; ロードとインターン。
    foo.lib.core                                        ; シンプル。
    [bar.lib.core :only (bar-fn1 bar-fn2 bar-fn3)]      ; シンボル限定。
    [buz.lib core view model util]                      ; 仲間を複数。
    )
  (:require       ;; ロードのみ。
    [hoge.lib.core :as hoge]                            ; シンプル。
    [huga.lib.core :as huga :refer (huga-fn1 huga-fn2)] ; シンプル + 一部はインターン。
    [piyo.lib core egg leg]                             ; 仲間を複数。
    )
  (:import        ;; Javaクラスのロード。
    java.io.File                    ; シンプル。
    [java.util Date Timer Locale]   ; 仲間を複数。
    )
  (:gen-class))   ;; 名前空間のクラス生成。

テンプレート

(ns my.lib.core
  (:use
    clojure.tools.trace
    [midje.sweet :only (unfinished)]
    )
  (:require
    [clojure.string :as str :refer (split join)]
    )
  (:import
    java.io.File
    java.text.SimpleDateFormat
    [java.util Date Locale]
    )
  (:gen-class))
Last modified:2014/04/02 11:46:26
Keyword(s):
References:[FP: 関数型プログラミング]
This page is frozen.