/var/log/jsoizo

メモ帳 技術とか趣味とか

2022-02-01から1ヶ月間の記事一覧

scala.collection.immutable.SetOpts, scala.collection.SetOptsのメソッドツアー

前の記事でsubsetsの挙動を確認したついでに、collectionの中でもSet固有に実装されているメソッドを一通り叩いてみる。 特に明示しない場合このようなSet[Int]に対して叩くものとする。 val set = Set(1,2,3)

Set[T]から取りうるすべての組み合わせを生成するにはsubsets

タイトルの通り。 scala> Set(1,2,3) val res0: scala.collection.immutable.Set[Int] = Set(1, 2, 3) scala> res0.subsets().toList val res1: List[scala.collection.immutable.Set[Int]] = List(Set(), Set(1), Set(2), Set(3), Set(1, 2), Set(1, 3), Se…

ScalaTestのAsync Specで複数のassertをしたい

こういうAsyncなテストがあり複数assertしたかったりする。 given-when-then-andのand相当。 class FooSpec extends AsyncFunSpec with Matchers { it("awesome test") { val f1: Future[String] = Future { Thread.sleep(1000) "foo" } val f2: Future[Stri…

Try,Option,EitherのorElse

Pull Requestでレビューをしていてこういう実装を見かけた。 fooで失敗したらbar, barで失敗したらbazを呼び出したい。 def foo(s: String): String = ??? def bar(s: String): String = ??? def baz(s: String): String = ??? val input: String = "awesome…