当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala s.unapplySeq用法及代码示例


unapplySeq 方法(或属性)属于StringContext.s对象(object),其相关用法说明如下。

用法:

def unapplySeq(s: String): Option[Seq[String]]

简单的字符串匹配器。

尝试通过简单的通配符将输入字符串与给定的插值模式匹配,这与简单插值器相反。

这是一个示例用法:

val s"Hello, $name" = "Hello, James"
println(name)  // "James"

在此示例中,字符串 "James" 最终匹配模式 $name 所在的位置,因此最终绑定到该变量。

支持多个匹配:

val s"$greeting, $name" = "Hello, James"
println(greeting)  // "Hello"
println(name)  // "James"

s 匹配器可以匹配 ${} 块中的任意模式,例如:

val TimeSplitter = "([0-9]+)[.:]([0-9]+)".r
val s"The time is ${TimeSplitter(hours, mins)}" = "The time is 10.50"
println(hours) // 10
println(mins) // 50

在这里,我们在 s 匹配器中使用 TimeSplitter 正则表达式,进一步将匹配的字符串 "10.50" 拆分为其组成部分

源码:

StringContext.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 s.unapplySeq。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。