我想以强类型的方式访问scala中的csv文件.例如,当我读取csv的每一行时,它会自动解析并表示为具有适当类型的元组.我可以在传递给解析器的某种模式中预先指定类型.这样做是否存在任何库?如果没有,我怎么能自己实现这个功能呢?
以下是我的代码片段:
sealed abstract class Expr
case class Var(name: String) extends Expr
case class Number(num: Double) extends Expr
case class UnOp(operator: String, arg: Expr) extends Expr
case class BinOp(operator: String, left: Expr, right: Expr) extends Expr
object CaseClassTest extends App {
def simplifyExp(xs: Expr): Expr = xs match {
case UnOp("-",UnOp("-", x)) => x
case BinOp("+",x,Number(0)) => x
case BinOp("*",x,Number(1)) => x
}
def describe(e: Expr): String = e match {
case Number(_) => "Number"
case Var(_) => "Var"
}
} …Run Code Online (Sandbox Code Playgroud)