2010-01-31

Clojureコードバトンを受け取った

manjilabさんよりTwitterでお誘いされたので光速で受けました。『プログラミングClojure』を読ん出る最中なのでちょうど良かったです。
自分が書いたのはGitHubのここのページに置いときました。

gist: 291106 - GitHub


さて「Clojureコードバトンっていったい何?」ってことなんですが、もともとはid:higeponさんがSchemeではじめたものらしいです。

Scheme コードバトンまとめページ - ひげぽん OSとか作っちゃうかMona-

コードバトンは、誰かが書いたコードをリレーして各人が好きに書き換えて面白いものに変えちゃおう!って感じの主旨のものみたいです。途中でathosさんがClojureで書き換えて、いろいろバトンが渡り現在に至ると。

噂の「英単語を覚えるスクリプト」をClojureで - athosの日記



今回のお題は「英単語を覚えるスクリプト」。前のmanjilabさんはMac OS Xで英単語をしゃべらせるというVery Coolな機能を書いてるわけで、あえて自分なりに一工夫加えるとなるとけっこう考えてしまう。と思いきや、すぐにアイデア浮かびました(やっぱり12時間睡眠すると頭がすっきりするなぁ)。

このスクリプトは英単語の辞書ファイルを読み込んで表示してくれるんですが、肝心の辞書ファイルを作るのが面倒くさい。じゃぁSmart.fmで学習中のアイテムを引っ張ってきて、このスクリプト用の辞書ファイルにする機能つければ便利じゃね?ということで作ってみました。

まず調査! Smart.fmのデベロッパ向けページを見てみると、ユーザ名を指定してその人の学習中アイテムを取得するAPIがありました。

items studied

いろんな形式でデータが取れるみたいですが、今回はXMLを選択。Clojureでは"Sequences"という概念でいろんなデータの連なりを統一して扱えます。XMLには"xml-seq"というやつが使えそう。いろいろ検索して使い方を調べてなんとかAPIのXMLを読み取れるようにしてみました。

自分が手を加えたのはコマンドラインで”−s”オプションと、smartfm-dictのところですね。一通り書いた後になんとかキレイにしようと思ったんですけど、どうかしら。

勢いで受け取っちゃったコードバトンですが、思いのほか面白かったです。だれか次に受け取ってくれる人は、この記事のコメントかTwitterのほうで話しかけてください! ちょっとでも興味があったら勢いでYou受け取っちゃいなYO!



---
(02/15追記)
私のバトンは@omasanoriさんが受け取ってくれました(感謝!)。さらにコメントを英訳するという試みもされてます(スゴイ。
さらにその先は@tnoborioさんに渡り、ついにSwingでGUI化されました(ぉぉ。今のところ受け取り先募集中みたいです。
tnoborio | Blogger Blog: Clojureコードバトン参加中



プログラミングClojure

0 件のコメント: