Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

2012-03-01から1ヶ月間の記事一覧

protocolを使って既存の関数の振る舞いを変える

こんにちわ、高校生です。 今回はprotocolを使った話です。通常の場合 user=> (bit-and "生" "死") IllegalArgumentException bit operation not supported for: class java.lang.String clojure.lang.Numbers.bitOpsCast (Numbers.java:994) bit-andはNumbe…

Parsecを使ってjinja2風テンプレートをパースする。

http://github.com/mopemope/clarsec2を使って以前のjinja2風のテンプレを解析する。 まずはおおまかなブロックを検出するだけだけど。input <html> <body> {% foo %} {{ variable }} {% endfoo %} <div> {#_ Comment Comment #} </div> </body> </html> コード (use '[clarsec]) (use '[clarsec.m…

Parsecを使ってパースする

こんにちわ、高校生です。 にわかLisperです。みなさん、本当にClojure書いてますか? 正規表現とかしんどいし関数型言語ならParsec使えよ!という話があると思うので適当に書いてみました。まずはcsvですよね。 (use '[clarsec]) (def input "Year,Make,Mod…

jinja2風なテンプレートをパースする

こんにちは、高校生です。 Parserはいつも人の使ったり、ragel先輩に吐かせたり楽してたのですがシンプルなものなら書けるかなと思い書いてみました。 (import '(java.util.regex Pattern)) (require '[clojure.string :as string]) (def sp-chars #"([\\\\*…

継続的にタスクを実行するleiningen plugin

こんにちわ、高校生です。 leiningenも2.0-previewが出てきていろいろ機能強化されてきていますね。 ただleiningen 2.0ではinteractiveタスクがなくなっています。 ビルド毎にleiningenを起動をするのもだるいなあと思い、プロジェクト内のファイル変更を監…