Clojureの基礎〜名前空間〜

Clojureの基礎〜正規表現を扱う〜 - oknknicの日記」に引き続き、基礎メモ。
名前空間についてメモ。

現在の名前空間の切替:in-ns

(必要なら名前空間が新規作成される)
(REPL起動時のデフォルト名前空間は「user」)

(in-ns 'my-name-space)

;なお、新規作成された名前空間では、
;Java の java.lang パッケージは自動的に import されているが、
;clojure.core は use されていないので、 clojure.core を use する。
(clojure.core/use 'clojure.core)
Clojureライブラリのロード:require
(require 'clojure.xml)

;現在の名前空間に別名を作成
(require '[clojure.xml :as xml])
現在の名前空間に読み込み:refer
(refer 'clojure.xml)
require+refer:use
(use 'clojure.string)
Javaパッケージのインポート:import
;(import '(パッケージ クラス名1 クラス名2 ...))
(import '(java.io InputStream File))
現在の名前空間(*ns*)の設定+use+require+import:nsマクロ
(ns my-name-space
  (:use [hiccup.core]
        [clojure.java.io :only (writer)])
  (:require [clojure.string :as str])
  (:import (java.lang.File)))
名前空間のpublic varsの一覧
(dir clojure.xml)
引数のシンボルを現在の名前空間で解決した結果
; 例:Stringの名前解決
(resolve 'String)
ネームスペース関連の関数検索
(find-doc "ns-")

参考

プログラミングClojure 第2版

プログラミングClojure 第2版