clojure.contrib.def
clojure.contrib/def.cljのソースを眺めたのでメモ。
名前 | 説明 |
---|---|
defvar | 変数を初期値とドキュメント文字列で定義する。 |
defunboud | unbound変数をドキュメント文字列で定義する。 |
defmacro- | defmacroのプライベート定義版。 |
defvar- | defvarのプライベート定義版。 |
defunbound- | defunboudのプライベート定義版 |
defstruct- | defstructのプライベート定義版 |
defone- | defonceのプライベート定義版 |
defalias | 変数のエイリアスを定義する。メタデータには元の変数のメタデータがマージされる。 |
defhinted | 初期値のクラスを型のヒントとして変数を定義する。 |
name-with-attributes | マクロ引数の定義で使用できる。ドキュメント文字列やメタデータを簡単に定義できる(ようだ)。 |
defnk | キーワード引数を扱える関数を定義する。 |
def*-と最後にハイフンが付くdef*を使用すると、定義した名前空間だけで有効な変数(プライベートな変数)を定義できる。
キーワード引数が使用できるdefnkは便利そうなので、後で詳細を調べてみよう。(Common Lispと同様?)