Sphereとともに

scalaとかplayframeworkとか。技術ブログにしたいなと。環境は Windows7x64, mac です。たまに声優さん情報が混ざります。最近ちょっとClojure触りました。

Clojure その7 if

続いて条件分岐

Scala では if は値を返す式です。

Clojureではどうでしょう

確認に入る前に

変数の定義の仕方を知っておきたいですね

ググった結果

def, let

というのを見つけました

簡単に言うと def は グローバル変数を定義

let はローカル変数を定義

する際に利用するようです

というわけで、以下の様なものを書いてみました(関数名は適当です)

(defn islarger [x]
  (let [result (if (> x 100) "100より大きいです" "100より小さいです")]
  (println result)))

(defn -main []
  (islarger 1000)
  (islarger 99))


ここでは result という ローカル変数を作成し、if で値を取得し

取得した値を表示しています

$ lein run
100より大きいです
100より小さいです

ということで、if が値を返しているので

Clojureでもifは式ということですね

それにしても前置記法は慣れない

If

If