Spec-Zone.ru › Scala 3.2

Объект StringContext.s

Исходный код

объект s

Суператрибуты
класс Object
трайт Matchable
класс Any
Тип "self"
s.type

Конкретные методы

Исходный код
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

Здесь мы используем регулярное выражение TimeSplitter внутри сопоставителя s, дополнительно разделяя сопоставленную строку "10.50" на составляющие части.

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/StringContext$s$.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API