「逆FizzBuzz」をErlangで
趣味と勉強を兼ねて「逆FizzBuzz」(d:id:matarillo:20120515)をErlangでやってみました。
以下のソースをifb.erlというファイルに保存し、Erlangのコンソールから「c(ifb).」「ifb:sample().」で実行できます。
1> c(ifb). {ok,ifb} 2> ifb:sample(). [fizz] -> [3] [buzz] -> [5] [fizz,buzz] -> [9,10] [buzz,fizz] -> [5,6] [fizz,buzz,fizz] -> [3,4,5,6] [fizz,fizz] -> [6,7,8,9] [fizz,fizz,buzz] -> [6,7,8,9,10] [fizz,fizzbuzz,fizz,buzz] -> [12,13,14,15,16,17,18,19,20] [buzz,fizz,buzz] -> error ok
「憂鬱な勇者」をErlangで
Play 2からMicrosoft Accessの日本語テーブルに接続する方法
Play 2のScalaコードからMicrosoft Accessの日本語テーブルに接続する方法の説明です。
動作確認環境: Play 2.1.1+WindowsXP+MDB(Access 2000形式)
日本語テーブルに接続するコード
play newで新しいアプリケーションを作成し、controllers/Application.scalaとviews/index.scala.htmlを次のような内容にします。
実行すると次のように表示されます。コードを簡単にするため1行だけ表示させています。データベースへのアクセスにはAnormを使用しています。
以下でポイントを説明します。
ポイント1: 標準のデータベース設定は使わない
Playではconfig/application.confに接続情報を書くことでデータベースに自動的に接続してくれます。(JDBCコネクションプールの設定)
しかし文字コードがUTF-8に決め打ちになっているため、Microsoft Accessの日本語テーブルに接続するとエラーが発生します。
そこで、自前でConnectionを作成しています(Application.scala 16〜17行目)。