明日会社がなくなっても

明日会社がなくなっていても動揺しないように、情報を残していきたい

「Nagoya.Swift+ 3月度勉強会」に参加しました。

nagoyaswiftplus.connpass.com

以下、勉強した内容です。

Scala

implicit

Implicit · Scala研修テキスト

  • implicit classをConsoleで宣言すると、implicit modifies cannot be used for top level object.と言われるが、実行はできる。

  • "pimp my library"のpimpの意味が「ポン引きなどの売春斡旋業者」…

  • 1.to(2)toメソッドは、RichIntクラスに定義されている。

List(1, 2, 3, 4).sumsumはimplicit parameterの用法

  • クラス定義:trait TraversableOnce[+A] extends Any with GenTraversableOnce[A] {
  • メソッド定義:def sum[B >: A](implicit num: Numeric[B]): B = foldLeft(num.zero)(num.plus)

分からなかった練習問題

List[Int] と List[Double] のsumを行うために、標準ライブラリでは何という型クラス(1つ)と型クラスのインスタンス(2つ)を定義しているかを、Scala標準ライブラリから探して挙げなさい。

  • 型クラスがNumericであることは、sumのメソッドに(implicit num: Numeric[B])と書かれていることから、理解できた。
  • 型クラスインスタンスIntIsIntegralDoubleAsIfIntegralである理由が分からない。

型クラスへの誘い

  • よく分からなかった

FutureとPromise

  • FutureのonCompleteでSuccessとFailureの処理を分けた
  • FutureはOptionと同じような使い方ができる

Intellij IDEA