Pattern matching - очень мощный инструмент, благодаря которому мы можем добиться высокой гибкости и краткости кода, но при его использовании стоит помнить пару ньюансов. Каких? Сейчас расскажу! Если сказать в двух словах, что такое pattern matching, - это switch-case на стероидах, способный работать с множеством различных типов и параметров, например: def patt(a: Any) = a match {
case _:String => println("String")
case n:Number => println(n)
case _ => println("Smth else")
}
patt(2)
patt("Valera")
patt(new...
Источник: Nuances of Programming Обзор Во-первых, давайте рассмотрим оба типа: String— это обычный идентификатор, который относится к типу данных .NET System.String. Также необходимо, чтобы был импортирован класс System. string— это зарезервированный дескриптор в C # и дескриптор для .NET System.String. Важными словами в этих описаниях являются идентификатор и дескриптор. Идентификатор — это понятное имя, присвоенное типу, который можно переопределить. Дескриптор — это предопределенный фиксированный идентификатор, который имеет особое значение для компилятора...