N2 ToolBox(跡地)

跡地です。引っ越しました。http://d.hatena.ne.jp/nosen

Scalaによるダイエット

2008-12-02 23:01:35 | その他
またしてもBlogを書くのをさぼってしまいました。
別に仕事が忙しかった訳ではないし、書くネタもそれなりにあったのですが。。

それはそうと、最近ものすごく太ってしまったので、またダイエットにチャレンジすることにしました。
以前RubyでBlogから体重を拾ってきてグラフにするスクリプトを書いたのですが、
それのScala版を書いています。

だいぶScalaにも慣れてきました。やっぱりScalaはものすごく面白いですね。
いちいちニヤリとしてしまう文法が満載です。
ただ、Javaをちゃんとわかった上でScala的な部分を理解しないといけないので、学習コストは高いのかもしれません。
自分も、先にHaskellを勉強してなかったら理解が遅くなっていた部分がかなりあるような気がします。

今とりあえず、グラフを画像で出すところまでは出来ていて、あとFTPでサーバにあげるところを
書けば完成です。

難しかったのはScalaというよりもむしろJFreeChart。初めて触ったけど、APIがややこしいです。

あと、うちのMacOS Xでは、ImageIOでgifもjpegもうまく出力できなくて、pngを試してやっとうまく行きました。
Windows上では普通にgifを出力できるのに。

ImageIO#getWriterFormatNamesというメソッドで、ImageIOがサポートする画像のフォーマットの一覧が
取れるのですが、gifはそこに入っていなかったので、まぁそれは私が悪いということにしましょう。

しかし、ImageIO#writeメソッドで画像をファイルに書き出そうとしたときに、
何の例外も投げずに、こっそりfalseとかを返して静かに失敗するのはいかがなものか。

あと、jpgについてはサポートされているはずなのに、なんでか真っ黒な画像が出力されてしまいました。
pngを試したらうまく行ったので、細かい原因は調べておりません。

とはいえ、やはり既存のJavaのライブラリが使えるというのは、大きなメリットだと感じました。
ランタイムから完全に新しい言語だと、JFreeChartのようなややこしいことをするライブラリは
なかなか出てこないでしょうから。。

最新の画像もっと見る