s

scala.StringContext.s$
object s

Attributes

Source
StringContext.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
s.type

Members list

Value members

Concrete methods

The simple string matcher.

The simple string matcher.

Attempts to match the input string to the given interpolated patterns via a naive globbing, that is the reverse of the simple interpolator.

Here is an example usage:

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

In this example, the string "James" ends up matching the location where the pattern $name is positioned, and thus ends up bound to that variable.

Multiple matches are supported:

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

And the s matcher can match an arbitrary pattern within the ${} block, for example:

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

Here, we use the TimeSplitter regex within the s matcher, further splitting the matched string "10.50" into its constituent parts

Attributes

Source
StringContext.scala