月別: 2010年5月

Clojure で拡張子によりファイルをリストアップする

Clojure で、ディレクトリ内のファイルをリストアップして、結果のシーケンスから拡張子によるフィルタリングを行い、任意の拡張子から成るファイルのシーケンスを作り出す。 (import ‘(java.io File)) (use ‘[clojure.contrib.str-utils :only (str-join)]) ;; 拡張子文字列を受け取り、正規表現パターンを返す (defn make…続きを読む

Clojure, slurp でテキストファイルを読み込む

Clojure でてっとり早くテキストファイルを読み込むには slurp を使うといいらしい。 引数にテキストファイル名の文字列を渡せば、ファイルを読み込んでその内容文字列を返してくれる。 user=> (slurp "sample.txt") "hello, world!\nこんにちは、世界!\n" user=> (println (.toUp…続きを読む

Clojure の rest と next の違い

rest は残りの要素がない場合は空のシーケンスを返す。 next は残りの要素がない場合は nil を返す。 (next [1 2 3]) は (seq (rest [1 2 3])) と同じ意味。 user=> (doc rest) ————————- clojure.core/rest ([coll]) Returns a possibly empty …続きを読む

Leiningen で Clojure プロジェクトを作成

Leiningen は Clojure プロジェクトのビルドツール。 なんかいろいろ便利らしい。単体で動作する jar も簡単に生成できる。 Leiningen のインストール Leiningen (README.md at master from technomancy’s leiningen – GitHub) の Installation の 1. Download …続きを読む