Результаты поиска по запросу "pattern-matching"

3 ответа

 это шаблон конструктора, который не имеет ничего общего с оператором.

ю, что вы можете сделать сопоставление в списках таким образом, как val list = List(1,2,3) list match { case head::tail => head case _ => //whatever }поэтому я начал задаваться вопросом, как это работает. Если я правильно понимаю,:: это просто ...

1 ответ

 сборка и имитация функциональности, которая вам нужна в вашем HttpModule.

трю на реализацию опции для определения конкретных шаблонов URL, которые мой HttpModule должен игнорировать. Я хочу иметь возможность определить "фильтры", такие как: /Admin/{*} /Products/{*}/SearchКоторый должен отфильтровать URL, ...

6 ответов

Простое преобразование из Seq в List сделало бы эту работу:

я есть следующий код, который рекурсивно работает с каждым элементом в списке def doMatch(list: List[Int]): Unit = list match { case last :: Nil => println("Final element.") case head :: tail => println("Recursing..."); doMatch(tail) }Теперь, ...

ТОП публикаций

2 ответа

Известно, что проблема наименьшей грамматики является сложной и является хорошо изученной проблемой. Я не знаю, сколько часть «прямой последовательности» добавляет или вычитает из сложности.

у суммировать, а не сжимать аналогичным образом для запуска кодирования длины, но во вложенном смысле. Например, я хочу, чтобы: ABCBCABCBCDEEF стал: (2A (2BC)) D (2E) F Меня не беспокоит, что вариант выбирается между двумя одинаковыми ...

3 ответа

Я предлагаю хранить иерархию для соответствия в дереве, соответствующем иерархии URL, где каждый узел соответствует уровню в иерархии. Чтобы сопоставить URL, проверьте URL со всеми корнями дерева, где находятся только узлы с регулярными выражениями для «пользователя» и «пользователя». Соответствующие URL-адреса проверяются на дочерних узлах этих узлов, пока в листовом узле не будет найдено совпадение. Успешное совпадение может быть возвращено в виде списка узлов от корня до листа. Именованные группы со значениями свойств, такими как {user-id}, могут быть получены из узлов успешного сопоставления.

ы одинпродуктивно сопоставить одну входную строку с любым количеством регулярных выражений? Один из сценариев, где это может быть полезно, - это веб-сервисы REST. Давайте предположим, что я придумал несколько шаблонов URL для открытого ...

3 ответа

 возможно это поможет

я есть две функции (не они были отредактированы с оригинала - некоторые из ответов ниже отвечают на оригинальные, которые вернули последовательность ()): def foo1[A](ls: Iterable[A]) : Iterator[A] = for (List(a, b) <- ls sliding 2) yield a def ...

4 ответа

, или даже

исал следующую программу для проверки строк на сбалансированные скобки: isBalanced xs = isBalanced' xs [] isBalanced' [] [] = True isBalanced' [] _ = False isBalanced' ('(':xs) ys = isBalanced' xs (')':ys) isBalanced' ('[':xs) ys = isBalanced' ...

2 ответа

mlpy - динамическая деформация времени зависит от x?

Я пытаюсь получить расстояние между этими двумя массивами, показанными ниже DTW. Я использую питонmlpy пакет, который предлагает dist, cost, path = mlpy.dtw_std(y1, y2, dist_only=False)Я понимаю, что DTW заботится о «сдвиге». Кроме того, как ...

2 ответа

) и любая целочисленная последовательность должна считаться допустимым совпадением (а не только (1 2, 3))?

файл: object Test extends App { val obj = List(1,2,3) : Object val res = obj match { case Seq(1,2,3) => "first" case _ => "other" } println(res) }Выдает это предупреждение: Test.scala:6: warning: non variable type-argument A in type pattern ...

1 ответ

 и вам не нужен тип шаблона.

спецификацию, я узнал, что scala поддерживает связывание переменных типа при сопоставлении с шаблоном типа: Map(1 -> "one", 2 -> "two") match { case l: Map[k, v] => // binds k to Int and v to String // k and v are types as shown here: val i: ...