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 …続きを読む

JavaScript, Canvas スキャンライン・シードフィル アルゴリズムによる塗り潰し

HTML5 Canvas でバケツツールによる塗り潰しを実現するために、スキャンライン・シードフィル (Scan Line Seed Fill) というアルゴリズムを使ってみた。 アルゴリズムの詳細については、以下のサイトを参考にした。 参考:ActionScript入門Wiki@rsakane – 塗りつぶしアルゴリズム(スキャンライン – シードフィル編)    ペイン…続きを読む