首页 > 解决方案 > 带有可变参数的模式匹配

问题描述

请建议最好是实现以下代码:

要求:传递单个字符串或不传递参数

object Twofer {
  def twofer(name: String*): String = name match {
    case Seq(nm) => s"One for $nm, one for me."
    case List() => "One for you, one for me."
  }
}

标签: scalapattern-matching

解决方案


也许类似于以下内容:

def twofer(names: String*): String = List(names: _*) match {
  case Nil => "No names!"
  case n :: Nil => s"Single name $n"
  case ls => s"Multiple names $ls"
}

推荐阅读