タグ: clojure

Clojure で PDFBox を使って PDF ファイルのサムネイル画像を作成する

Clojure を使って PDF ファイルのサムネイル画像を生成してみた。 Apache PDFBox – Apache PDFBox – Java PDF Library を使うと PDF ファイルからテキストや画像を抽出したり、ページのサムネイル画像を生成したりすることができるらしい。 利用には FontBox というライブラリも必要だったので、PDFBox と同じ場所…続きを読む

Clojure で JPanel に画像を表示させ、ボタンで画像を切り替える

パネルを作成して画像を表示し、ボタンで画像を切り替える。 パネルに画像を表示するには、proxy を使って paint メソッドをオーバーライドする。 画像の再描画の際は、ref を使って保存しておいた BufferedImage から取り出して描く。 (import (javax.swing JFrame JPanel JButton BoxLayout) (javax.imageio Imag…続きを読む

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