Najlepszy samouczek Scala pasujące do wzorca W 2024 r. W tym samouczku możesz dowiedzieć się Użyj Klasa Sample,
Scala dostarcza potężny mechanizm dopasowania wzorca, jest również powszechnie stosowane.
Wzorzec dopasowania zawiera szereg alternatywnych rozwiązań, z których każda zaczyna się odsprawy kluczowe.Każdy z nich zawiera opcję kopii zapasowej i wzór dla wielu wyrażeń. Strzałka symbol=> oddziela wzorów i wyrażeń.
Poniżej znajduje się prosty wzór dopasowywania wartość całkowita Przykład:
object Test { def main(args: Array[String]) { println(matchTest(3)) } def matchTest(x: Int): String = x match { case 1 => "one" case 2 => "two" case _ => "many" } }
Realizacja powyższego kodu, wyjście jest:
$ scalac Test.scala $ scala Test many
dopasować odpowiedni Java w przełączniku, ale napisany po wyrażeniu wyboru.Mianowicie: Selektor mecz {} alternatywy.
Postanowieniem z dnia wyrażenia, aby dopasować kod napisany spróbować każdego trybu, aby zakończyć obliczenia, jeżeli uznają, że jest to przypadek dopasowywania, dopasowując reszta razie nie będzie kontynuowany.
Następnie spojrzeć na inny typ danych dopasowywania wzoru:
object Test { def main(args: Array[String]) { println(matchTest("two")) println(matchTest("test")) println(matchTest(1)) println(matchTest(6)) } def matchTest(x: Any): Any = x match { case 1 => "one" case "two" => 2 case y: Int => "scala.Int" case _ => "many" } }
Realizacja powyższego kodu, wyjście jest:
$ scalac Test.scala $ scala Test 2 many one scala.Int
Przykłady pierwszym przypadku odpowiada wartości całkowitej 1, drugi przypadek odpowiada wartości ciągu dwóch, drugi przypadek odpowiada wartości ciągu dwóch, trzeci przypadek odnosi się do typu modelu stosowanego w celu określenia, czy wartość przekazana w całości uy isInstanceOf porównaniu do określenia typu, pasujące do wzorca jest lepsza. Czwarty przypadek wskazuje domyślne alternatywy pełnej meczu, że mecz nie zostanie znaleziony w drugim meczu, podobny przełącznik zaocznego.
Użyj słowa kluczowego przypadek jest definicja klasy jest klasa próbka (klasy przypadków), klasa próbka jest specjalna klasa, zoptymalizowany pod kątem dopasowania wzorca.
Poniżej znajduje się prosty przykład klasy próbki:
object Test { def main(args: Array[String]) { val alice = new Person("Alice", 25) val bob = new Person("Bob", 32) val charlie = new Person("Charlie", 32) for (person <- List(alice, bob, charlie)) { person match { case Person("Alice", 25) => println("Hi Alice!") case Person("Bob", 32) => println("Hi Bob!") case Person(name, age) => println("Age: " + age + " year, name: " + name + "?") } } } // 样例类 case class Person(name: String, age: Int) }
Realizacja powyższego kodu, wyjście jest:
$ scalac Test.scala $ scala Test Hi Alice! Hi Bob! Age: 32 year, name: Charlie?
Kiedy deklarujesz przykład klasy, co następuje procedura odbywa się automatycznie: