Lyの日常

主が楽しくプログラムをカキカキするブログ

俺でもわかるClojure入門 part1

こんちくわ
最近Clojureにはまっているので
Clojureについて記事を書こうと思うよ!

Clojure #とは

簡単に言うと
"Lispに似ている"
"関数型言語である"
ですね。
難しいことは考えるな!
書けばわかる!!

開発環境を整える

まずはIEDですが
LightTable http://lighttable.com/
NightCode https://sekao.net/nightcode/
この二つになるのかな?
今回は個人的に便利だと感じたNightCodeを使用していきます

前置記法を使用する

今までC++を書いてきた僕にとって
一番衝撃的だったのが
記法です
C++中置記法
Clojureでは前置記法を使用します
ニャンじゃそりゃ?
まぁ見てくださいよ奥さん

// C++での足し算
1 + 2;
3 + 5;
; Clojureでの足し算
(+ 1 2)
(+ 3 5)

本当にこれで動くのかって??
それじゃぁNightCodeで実際に試してみましょう!

簡単なコードを書いてみる

NightCodeでは簡単なコードをすぐに実行できる機能があるぞ!
ここで実行できるわけです
f:id:akira206:20160930033627p:plain

とりあえず足し算でもしてみましょう

user=> (+ 1 2)
3
user=> (+ 3 5)
8

ね?簡単でしょう?

続いて引き算

user=> (- 8 3)
5
user=> (- 1 5)
-4

複数の計算を一行で!

C++だとこんな感じ

std::cout << 1 + (5 - 3) + 2;
// 5

Clojureだとこんな感じに書きます

(+ 1 (- 5 3) 2)
;-> 5

今日はここまで!

実は僕もそんなにClojure理解してないので
詳しく書けないんですが
勉強しながら理解したところを少しずつ記事にしたいと思います

最後に

Clojureのブームはもう去ってるようで(?)
日本語の記事を探しても2013年止まりだったり・・・
でもまぁ、書いてて面白いし
C++と違った言語を触ることで気づけることも多々ありますしおすし
グラフィック面もQuilと言うライブラリを使用すれば表現できるので
できればClojureでゲームを作りたいと思ってます、ω、
それではまた会う日まで
アディオス!