相关疑难解决方法(0)

模式与无形副产品匹配

我可以使用与无形副产品匹配的模式吗?

import shapeless.{CNil, :+:}

type ListOrString = List[Int] :+: String :+: CNil

def f(a: ListOrString): Int = a match {
  case 0 :: second :: Nil => second
  case first :: Nil => first
  case Nil => -1
  case string: String => string.toInt
}
Run Code Online (Sandbox Code Playgroud)

这当然不起作用,因为a盒装为Coproduct.

有没有其他方法可以使用副产品并保持模式匹配的能力?

scala pattern-matching shapeless

14
推荐指数
2
解决办法
3002
查看次数

标签 统计

pattern-matching ×1

scala ×1

shapeless ×1