// 提取器objectName{def unapply(input: String) = {val pos = input.indexOf(" ")if(pos == -1) Nodeelse Some( (input.substring(0, pos), input.substring(pos + 1)) ) }}val author = "Lionel Messi"// 调用Name.unapply(author)val Name(first, last) = author// First Name is Lionel and last name is Messiprintln("First Name is " + first + " and last name is " + last)
object Names{defunapplySeq(input: String): Option[Seq[String]] = {if(input.trim == "") Noneelse Some(input.trim.split("\\s+")) }}val namesStr = "Tom Lily Lucy"val Names(first, second, third) = namesStr// the first name is Tom and the second name is Lily and the third name is Lucyprintln(s"the first name is $first and the second name is $second and the third name is $third")