ひさびさにScalaネタ。
Scala2.10が出たので変化した箇所を調べたいなーと前から思ってたんだけど、たまたま2.10.2が出たことだし、xuweiさんのScala2.10 以降に入るかもしれない機能まとめを参考にしつつ、興味ある部分を見てみた。
(ドラクエ10が全職業でレベル50になったから小休止中で時間が出来たとか、そんな事は無いですよ?w)
まずいつも調べているのが、MapとかList(Seq)のコレクションにメソッドが追加されているかどうか。
今回はtoくらいしか目立つものは無かったかな。あ、toVectorも追加されてたけど、今まで無かったのかって感じ(笑)
applyOrElseやrunWithはPartialFunction関係みたいで、使いどころがイマイチよく分からないし(爆)
そういえばdeprecated(非推奨)だったメソッドが削除されたみたいだけど、自分のページでは非推奨メソッドはそもそも書いてなかったので、影響は無いw
REPLでもコマンドに増減がある。2.9で導入されて2.10で廃止されたのもあるみたい^^;
便利なのが、「:warning」コマンド!
非推奨な文法を使ったりすると「re-run with -deprecation for details」という警告が出て、詳細を知りたければ、今まではscalaコマンドに「-deprecation」を付けて再起動して同じ文を実行する必要があった。
今回からは警告が出たら「:warn」と入れるだけで詳細情報が表示される!
Scala2.10で文法的に大きな追加は以下のものかな。
・値クラス
・implicit class
・文字列の補間
implicit classはpimp my libraryパターンに替わるもので便利なので、押さえておきたい。
文字列の補間は、整形に便利そう。DSLを作る際とかにも何かに使えるかも?
ClassManifestが非推奨になったのはちょっとびっくり。
代わりに新設されたClassTagは、メソッド名が違うだけでClassManifestとほとんど同じ使い方っぽいけど。
新設されたDynamicはなかなか面白い。
エンティティーとかを自動生成するライブラリーでは使い道がありそうな気がする。
日付関連では、噂のJodaTimeとやらは入っていないのかな?
durationという、期間(時間)を表すパッケージは新設されたみたいだけど、これだけでは何とも^^;
あと、dbcはばっさり削除されたみたい。
それなりに面白い仕組みだったんだけどなー(まともに使ったことないけど(爆))
※コメント投稿者のブログIDはブログ作成者のみに通知されます