📝Clojure フォーム
📝Clojure Syntax からメモを移植. up: 📂Clojure Core Languages
Clojureフォームとは #
Clojureの構成要素にいろいろ種類がある. Clojureではとくに フォーム という.
- number
- 1
- symbol
- Clojureの世界での表現されるものはシンボルといってもいい.
- 関数: foo, bar
- Javaクラス
- 名前空間 : user/foo
- 演算子: +, -
- etc…
- string
- “hoge”
- keyword
- :hoge
- character
- \h
- boolean
- true/false/nil
- list
- (1 2 3)
Clojureフォーム間の変換 #
string->number: 文字列から数値への変換 #
Javaの関数を利用する. (int x)みたいなNativeなClojure関数がないことはハマリポイントだったり.
(Integer. "1")
(Integer/parseInt "2")
keyword->string: キーワードから文字列への変換 #
name を使う.
(name :hoge)
;;=> "hoge"
Clojure: 特殊形式 | Special Forms #
Clojureの特殊形式は, Clojureの評価戦略に従わずコンパイラが直接解釈するSyntax.
つまり開発者がマクロで改変できないし, 逆にいればこれらはマクロの素材になる.
refs: clojure.org - Special Forms 🏷Evaluation Strategy
Active Recalls #
Clojureの特殊形式とはなんですか?また具体例はなんですか? #
Clojureのコンパイラが独自に解釈するルール.
Spetial Formsともいう. def, if, let, fnなど.
Clojure の グローバル変数への束縛とローカル変数の束縛をするSyntaxは? #
それぞれ,def, let.