戦略 Scala 日記

素人プログラマの思考のセンス

2015-04-01から1ヶ月間の記事一覧

Scalaでモナドを、なんとなくイメージするためのヒント

Scalaでモナドを説明する際には、まずリストを用いるのがイメージしやすい。 scala> List(2, 3, 5, 7, 11, 13, 17, 19).foreach(println) 2 3 5 ... このListの値に効果を与えて、与えられたものを関数(ここではprintln)でシーケンシャルに評価している。 …

ライブラリや自分のコードの動きを確認したいときに"sbt console"が便利

自分のプロジェクトで使っているライブラリや、書いているコードをちょっとだけテストしたい場合などに、sbt consoleを利用する。 本稿では、sbt.version = 0.13.5を想定している。 今回は、Scalaの非同期HTTP通信用ライブラリのDispatchを例に、 このライブ…

Tuple3以上をもつListから、Tupleの値をキーにMapを作成する

たとえば、次のようなリストがあったとする。 val members = List( ("Momota", "red", 1994), ("Tamai", "yellow", 1995), ("Sasaki", "pink", 1996), ("Ariyasu", "green", 1995), ("Takagi", "purple", 1995) ) これを、Map("Momota" -> ("red", 1994), "T…

ActorSystemはインポートして使う。遅延評価する。

まず、必要なActorSystemをobjectで作っておく。 この時、ActorSystemは遅延評価(lazy val)するとよい。 // MyActorSystems.scala object MyActorSystems { lazy val someActorSystem = ActorSystem("some", config) } ActorSystemは読み込んで使うように…