浅海 智晴(あさみ ともはる)
 最近はすっかりScalaプログラマ。代表作はXML SmartDoc(XML文書処理システム),Relaxer(XML/Javaスキーマコンパイラ)。現在はScala DSLモデルコンパイラSimpleModelerを開発中。近著は「上流工程UMLモデリング」(日経BP),「マインドマップではじめるモデリング講座」(翔泳社)。モデル駆動開発×クラウド・コンピューティングの研究プロジェクトedge2.cc(Edge to Cloud Computing)を中心に活動中。
本記事の目次
  1 はじめに
2 文字列 2.1 formatメソッド 2.2 生文字列リテラル 2.3 正規表現 2.3.1 正規表現と生文字列リテラル 2.3.2 rメソッド 2.3.3 extractor 2.3.4 文字列処理のまとめ
3 コレクション 3.1 コレクション・ライブラリの全体像 3.2 ListとArray 3.1 Seq 3.3 ArrayBufferとListBuffer 3.4 MapとSet 3.4.1 あらかじめ値がわかっているSetの生成 3.4.2 Setの参照 3.4.3 Setの追加と削除 3.4.4 あらかじめ値がわかっているMapの生成 3.4.5 Mapの参照 3.4.6 Mapの追加と削除
4 その他 4.1 for文 4.2 統一アクセス 4.3 ローカル関数 4.3.1 関数内で再利用 4.3.2 分割
5 まとめ

1 はじめに

 筆者は,プログラミング言語には実用言語として生産性,保守性の高さを求めています。オブジェクト指向や関数型といったメカニズムを使用して,美しいプログラムを作るのも楽しいことですが,どちらかというと実用性の観点からこういったメカニズムが具体的にどういうメリットがあるのか,どのように使えば本当に便利なのか,という点に興味を覚えます。

 本稿では今後3回にわたって,そのような観点から筆者が1年弱Scalaプログラミングを行った中で,経験則として取得したScalaプログラミングの勘所について説明します。