Вопросы с тегом «pattern-matching»

Используйте этот тег для вопросов о проверке того, имеет ли структура данных определенную форму или содержит определенные значения в определенных местах. Многие функциональные языки предоставляют конструкции сопоставления с образцом. Большинство вопросов в этом теге также должны иметь тег для языка, на котором вы программируете. НЕ ИСПОЛЬЗУЙТЕ ЭТОТ ТЕГ ДЛЯ ОБЫЧНЫХ ВОПРОСОВ ВЫРАЖЕНИЯ, ИСПОЛЬЗУЙТЕ [regex] INSTEAD; аналогично, для сопоставления с образцом (подстановки) в POSIX-подобных оболочках используйте [glob].

3
Поддерживает ли PostgreSQL параметры сортировки без учета акцента?
В Microsoft SQL Server можно указать параметры сортировки «без учета акцента» (для базы данных, таблицы или столбца), что означает, что это возможно для запроса типа SELECT * FROM users WHERE name LIKE 'João' найти строку с Joaoименем. Я знаю , что можно раздеться акцентами из строк в PostgreSQL с использованием …

1
Как сопоставить несколько значений по шаблону в Scala?
Допустим, я хочу обрабатывать несколько возвращаемых значений из удаленной службы, используя один и тот же код. Я не знаю, как выразить это в Scala: code match { case "1" => // Whatever case "2" => // Same whatever case "3" => // Ah, something different } Я знаю, что могу …

10
Как переопределить применение в случае класса companion
Итак, вот ситуация. Я хочу определить класс case следующим образом: case class A(val s: String) и я хочу определить объект, чтобы при создании экземпляров класса значение 's' всегда было в верхнем регистре, например: object A { def apply(s: String) = new A(s.toUpperCase) } Однако это не работает, поскольку Scala жалуется, …

1
Согласование с шаблоном нескольких типов в Scala
Мне интересно, как я могу использовать сопоставление шаблонов нескольких типов. Я имею: 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 => …

3
Как я могу использовать список с фиксированной минимальной длиной полным и элегантным способом?
В настоящее время я имею дело с функцией, которая выглядит следующим образом: foo = (\(a:b:c:d:e:f:_) -> foobar a b c d e f) . (++ repeat def) Другими словами, для данного списка он использует первые шесть элементов для чего-то, и если список имеет длину менее шести элементов, он использует defв …

1
Разница между выводом типа метода и параметрами типа класса при сопоставлении с образцом
Почему сопоставление с образцом работает по-разному, когда параметр типа поступает из включающего метода, а не из включающего класса? Например, trait Base[T] case class Derived(v: Int) extends Base[Int] class Test[A] { def method(arg: Base[A]) = { arg match { case Derived(_) => 42 } } } дает ошибку constructor cannot be …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.