Pytania otagowane jako pattern-matching

Użyj tego tagu w przypadku pytań dotyczących testowania, czy struktura danych ma określony kształt lub czy zawiera określone wartości w określonych lokalizacjach. Wiele języków funkcyjnych udostępnia konstrukcje dopasowania wzorców. Większość pytań w tym tagu powinna mieć również tag dla języka, w którym programujesz. NIE UŻYWAJ TEGO TAGU DO REGULARNYCH PYTAŃ WYRAŻENIOWYCH, UŻYWAJ [regex] ZAMIAST; podobnie, do dopasowywania wzorców (globowania) w powłokach podobnych do POSIX, użyj [glob].


1
Jak dopasować wzorzec wielu wartości w Scali?
Powiedzmy, że chcę obsłużyć wiele wartości zwracanych z usługi zdalnej przy użyciu tego samego kodu. Nie wiem, jak to wyrazić w Scali: code match { case "1" => // Whatever case "2" => // Same whatever case "3" => // Ah, something different } Wiem, że mogę użyć metody wyodrębniania …

10
Jak przesłonić zastosowanie w towarzyszącej klasie sprawy
Oto sytuacja. Chcę zdefiniować taką klasę przypadku: case class A(val s: String) i chcę zdefiniować obiekt, aby zapewnić, że podczas tworzenia instancji klasy wartość „s” jest zawsze wielka, na przykład: object A { def apply(s: String) = new A(s.toUpperCase) } Jednak to nie działa, ponieważ Scala narzeka, że ​​metoda apply …

1
Dopasowywanie wzorców wielu typów Scala
Zastanawiam się, jak mogę użyć dopasowania wzorców wielu typów. Mam: abstract class MyAbstract case class MyFirst extends MyAbstract case class MySecond extends MyAbstract case class MyThird extends MyAbstract // shouldn't be matched and shouldn't call doSomething() val x: MyAbstract = MyFirst x match { case a: MyFirst => doSomething() case …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.