タグ

ブックマーク / t2ru.hatenablog.jp (2)

  • Leiningenで簡単Clojureプロジェクト - t2ru's blog

    Programming Clojureの訳がもうすぐ出るということで、ここ数日盛り上がり気味のClojure。Amazonに出たので、即注文。 Clojureには、Javaで言うMavenに相当するツールで「Leiningen」というのがある。 http://github.com/technomancy/leiningen これを使えば、依存ライブラリのダウンロードから、スタンドアローンのjar生成まで一気にやってくれる。 インストール 公式サイトの説明そのままだけど、インストール方法。 # シェルスクリプトをダウンロードしてパスの通ったところに置く。 $ wget -O /usr/local/bin/lein http://github.com/technomancy/leiningen/raw/stable/bin/lein # 実行権限をつける。 $ chmod a+x /usr/

    Leiningenで簡単Clojureプロジェクト - t2ru's blog
  • forマクロ - t2ru's blog

    Clojureでプログラムを組んでいるうちに、forマクロが強力だということにやっと気づいたので、リファレンスを書いてみる。 forマクロとは 普通の(というか、CやJava系列の)言語では、forはループ文を表すが、Clojureではforマクロはループではなく、シーケンスを作るオペレータだ。 下記のコードでは、0〜9までの数をそれぞれ2倍した数のシーケンス(0, 2, 4, ..., 18)を返す。 (for [x (range 10)] (* x 2)) しかも、返されるシーケンスは遅延シーケンスなので、この式が評価されたときに中身が評価されるのではなく、シーケンスの中身が評価された時に評価される。 => (let [x (for [x (range 3)] (do (println "x=" x) (* x 2)))] (prn "hoge") (prn x)) "hoge" (x

    forマクロ - t2ru's blog
    fumokmm
    fumokmm 2011/02/16
    clojureのforはとっても強力。
  • 1