Clojureを学ぶ 4clojure編 1
以前、ちょっとだけかじった事があった Clojure を、もういっかい勉強中。
YouTubeで kazuki babaさんという人が、4clojure実況をやっているのを見て、やってみたくなりました。
以前やったことはあって、そのときはElementaryを終わらせて、Easyを30ぐらい解いたところで中断。でも、すっかり忘れているので、最初からやり直してみます。
今回やったのは、以下の1問目~15問目。
- Nothing but the Truth
- Simple Math
- Intro to Strings
- Intro to Lists
- Lists: conj
- Intro to Vectors
- Vectors: conj
- Intro to Sets
- Sets: conj
- Intro to Maps
- Maps: conj
- Intro to Sequences
- Sequences: rest
- Intro to Functions
- Double Down
- Hello World
Contents
メモ
覚えておきたい、知らなかった内容のメモ
conj
;listにconjすると、前に追加される。
(conj '(3 4) 2 1)
=> (1 2 3 4)
;vectorにconjすると、後ろに追加される
(conj [1 2 3] 4)
=> [1 2 3 4]
;mapにconjすると、後ろに追加される。 順序は関係ないのでは?
(conj {:a 1} [:c 3] [:b 2])
=> {:a 1, :c 3, :b 2}
;mapに存在するキーをconjすると、上書きされる
(conj {:a 1} [:a 2] [ :b 2])
=> {:a 2, :b 2}
;setにconjすると? 順序は関係ないのでは?
(conj #{1 3} 4 2)
=> #{1 4 3 2}
(conj #{1 3} 2)
=> #{1 3 2}
(conj #{1 3} 4 )
=> #{1 4 3}
partial
部分適用?
(defn add [a b] (+ a b))
=> #'user/add
(def add1 (partial add 1))
=> #'user/add1
(add1 2)
=> 3
ディスカッション
コメント一覧
まだ、コメントがありません