2010-05-01から1ヶ月間の記事一覧

Clojureの正規表現

以下全て、Clojure1.1.0 をベースにしています。 【正規表現オブジェクト】 正規表現(pattern)オブジェクトの作成方法は3通りあります。 ;; どれでも結果は同じ。 ;; javax.util.regex.Patternオブジェクトが生成される。 (def re #"[\da-f]+") (def re (r…

ロケット打ち上げClojure版

Clojureでも書いてみた。(C#版はこちら) この2週間ほどで自分のコーディングスタイルもだいぶ変わったなぁ。今の自分なりの「Clojureらしいプログラム」はこんな感じ。 (use '[clojure.contrib.pprint :only (cl-format)]) (def fmt (partial cl-format f…

C#4.0でラムダ関数を使ってみる。

C#

しょーもないプログラムです。こんなことができるんだ〜程度のお話。 ニコ生放送みてたらこんなプログラムが出てきた。 Clojureで書いたら〜。ってのも芸が無いので、C#4.0のラムダ関数と無名型で書いてみた。 // C# 4.0 using System; namespace RocketLaun…

ClojureでJavaクラスのコンストラクタをapplyする

複数引数のコンストラクタにシーケンスをわたす。 最初こんなコードを書いてエラーになった。 (apply java.util.GregorianCalendar. [2010 5 20]) ;;=> java.lang.ClassNotFoundException: java.util.GregorianCalendar... 「new class名」の構文糖「class名…

コレクションあれこれ

vector と list は同値判定できる。でも set や hash-map はダメ。 (= [1 2 3] '(1 2 3)) ;=> true (= [1 2 '(3 4)] '(1 2 [3 4])) ;=> true (= [1 2 3] #{1 2 3}) ;=> false (= [:a 1 :b 2] {:a 1 :b 2}) ;=> false コレクションの大小比較(辞書順)は com…

leiningenを使った Clojure 開発

leiningen は clojure版 mavenです。とても便利。 インストールはこのへんを参考にしてください。 現状はlinux版のみ(?)がまともにうごくみたいです。 以降の記事では、clojure 1.1.0 と emacs による開発を想定しています。記事中に間違いなどありましたら…

Clojureいいかもしれない

なんとなくプログラミングClojureを買って一通り読みました。その時は「なるほど結構新しい試みのlispだな〜」くらいの感想でしたが、数日webで調べならがいじったところこれはすごい言語かもしれないと思い始めました。 Javaライブラリが使える Clojure自身…

emacs23のw3mが動かなくなった

Linux版Google日本語入力mozcがリリースされていたらしい。anthyの使いにくさに苦慮していたので早速入れよう。。。と思ったが、ubuntu9.04では入れられないらしい。9.10から導入された入力メソッドiBusが必要だとか。 というわけでubuntu10が話題になってい…

Parallelこえぇ

C#

Parallel.For で、1〜100までの数値をFizzにするかBuzzにするか、100個の並列処理をさせるプログラムを書いたつもりが処理が終わらない。 そのうちVisualStudio以外のアプリが次々と強制終了を始めた。 おかしいと思ってタスクマネジャをみたらCPU使用率が 9…