valid,invalid

関心を持てる事柄について

clojure

Clojure で初めての unless マクロを書く

『7つの言語 7つの世界』を読みつつ Clojure 入門している。その中でマクロに関する記述があったが LISP のマクロに馴染みがないので、コードを見ても何が起きているのか瞬時にわからなかった。 正解のコードを少しずついじりながら、なぜそう書かないといけ…

Clojure で分数を扱う Ratio 型

Clojure では分数を扱う Ratio 型がある。 とりあえず見てみる user=> (/ 22 7) 22/7 user=> (class (/ 22 7)) clojure.lang.Ratio 型変換 Integer や Float にいつでも変換できる。 user=> (int (/ 22 7)) 3 user=> (float (/ 22 7)) 3.142857 有理数化 rat…

Clojure のデータ構造まとめ

Clojure の基本的なデータ構造体について。 リスト 順序つきコレクション。初期化にはlist か、' (クォート) 表記で遅延評価させるかが使える。 user=> (list "B" "M" "W") ("B" "M" "W") user=> '("B" "M" "W") ("B" "M" "W") クォート1つ外すと関数と評価…

Clojure との出会い

会社でちょっとした Rust meetup があり、俺も何か新しいのをやりたいぞ!という気持ちになって Clojure 始めてみた。 理由 なぜこの流れで Rust でないのか?? これまで Java, Python, Ruby, JavaScript をメインにやってきている 違うパラダイムの言語を…