かとじゅんの技術日誌

技術の話をするところ

Baseunits for Scala を 作ってみました。

Scalaで初プロダクトということで、日常的に使うものからということで、以下のBaseunitsのScala版を作ってみました。

Baseunits Library - 都元ダイスケ IT-PRESS

ScalaJavaの資産が使えるので、普通に考えるとBaseunitsのJava版を使えばよいわけです。しかし、不変性やOption型によるnull回避や、コレクションの違いなどを想定すると、Javaとは文化が違う言語だという認識でScala版を作りました。

どんな言語でも同じでしょうが、ある程度の規模のScalaコードを書くと手に馴染みますね。Scalaのコレクションを初めてエンハンスしてみたのですが、かなり便利でした。Iterableとか、CanBuildFromとか、よく出来ているねーと関心しまくりでした。まだJavaっぽいところありますが、Scalaらしくなるように徐々にリファクタリングしていきます。

プロジェクトサイト http://maven.tricreo.jp/site/baseunits-scala_2.9.0-1/0.0.1/
Mavenリポジトリ http://maven.tricreo.jp/release
Maven groupId jp.tricreo
Maven artifactId baseunits-scala_2.9.0-1
Maven version 0.0.1
ソース置き場 https://github.com/tricreo/baseunits-scala/
ライセンス Apache License v2.0

pom.xmlには以下のような感じで追加してください。

<dependency>
    <groupId>jp.tricreo</groupId>
    <artifactId>baseunits-scala_2.9.0-1</artifactId>
    <version>0.0.1</version>
<dependency>
<repositories>
        <repository>
            <id>tricreo-maven-release</id>
            <name>tricreo Maven Repository</name>
            <url>http://maven.tricreo.jp/release</url>
        </repository>
        <repository>
            <id>sisioh-maven-release</id>
            <name>Sisioh Maven Repository</name>
            <url>http://maven.sisioh.org/release</url>
        </repository>
        <repository>
            <id>sisioh-maven-snapshot</id>
            <name>Sisioh Maven Snapshot Repository</name>
            <url>http://maven.sisioh.org/snapshot</url>
        </repository>
</repositories>