當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。