【发布时间】:2019-08-29 18:37:36
【问题描述】:
我创建了一些小代码示例来展示猫库的工作原理。在处理最后一个示例时,我注意到它可能更优雅:
import cats.effect.IO
import scala.collection.mutable.HashMap
val storage = HashMap[Int, String]().empty
override def deleteWord(id: Int): IO[Either[String, Unit]] =
for {
removedWord <- IO(storage.remove(id))
result <- IO {
removedWord.flatMap(_ => Some(())).toRight(s"Word with $id not found")
}
} yield result
有什么方法可以用cats语法以更简洁的形式重写代码sn-p?
【问题讨论】:
标签: scala scala-cats