例えば、
{"x" "a" "y" "b"}
とかき、xがキーでその対応する値がa, yがキーでその対応する値がbとなります。キーと値を交互に書くわけです。
キーにはキーワード(:xxx)がよくつかわれます。
{ :first-name "Saki" :family-name "Aibu"}
みたいに。
マップは関数としても使えます。
(def girl { :first-name "Saki" :family-name "Aibu"})
(girl :first-name)
みたいに。で、Clojureには分配束縛っていうものがあって、必要なものだけバインドすることができます。
(defn greet-author [{fname :first-name}]
(println "Hello, " fname ))
(greet-author {:first-name "Saki" :family-name "Aibu"})
とかくと、Hello,Sakiと表示されます。
分配束縛はマップ以外にも使えます。
(let [[x y] [1 2 3]]
[x y])
これは、[1 2]
になります。
0 件のコメント:
コメントを投稿