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

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

13
Как я могу сказать, повторяется ли строка в Python?
Я ищу способ проверить, повторяется ли данная строка для всей строки или нет. Примеры: [ '0045662100456621004566210045662100456621', # '00456621' '0072992700729927007299270072992700729927', # '00729927' '001443001443001443001443001443001443001443', # '001443' '037037037037037037037037037037037037037037037', # '037' '047619047619047619047619047619047619047619', # '047619' '002457002457002457002457002457002457002457', # '002457' '001221001221001221001221001221001221001221', # '001221' '001230012300123001230012300123001230012300123', # '00123' '0013947001394700139470013947001394700139470013947', # '0013947' '001001001001001001001001001001001001001001001001001', # '001' '001406469760900140646976090014064697609', # '0014064697609' ] являются …

11
Как я могу использовать обратные или отрицательные подстановочные знаки при сопоставлении с образцом в оболочке Unix / Linux?
Скажем, я хочу скопировать содержимое каталога, исключая файлы и папки, имена которых содержат слово «Музыка». cp [exclude-matches] *Music* /target_directory Что должно пойти вместо [exclude-match] для достижения этой цели?

2
В чем разница между «x = ноль» и «x == ноль»?
В C # 7 мы можем использовать if (x is null) return; вместо того if (x == null) return; Есть ли преимущества использования нового способа (прежний пример) по сравнению со старым? Семантика отличается? Это просто вопрос вкуса? Если нет, когда я должен использовать один поверх другого? Ссылка: Что нового в …



4
Использование операторов сравнения в системе сопоставления с образцом Scala
Можно ли сопоставить сравнение с помощью системы сопоставления с образцом в Scala? Например: a match { case 10 => println("ten") case _ > 10 => println("greater than ten") case _ => println("less than ten") } Второе утверждение case недопустимо, но я хотел бы иметь возможность указать «когда a больше чем».

9
Что такое «сопоставление с образцом» в функциональных языках?
Я читаю о функциональном программировании и заметил, что сопоставление с образцом упоминается во многих статьях как одна из основных функций функциональных языков. Может ли кто-нибудь объяснить разработчику Java / C ++ / JavaScript, что это означает?

5
Сопоставление групп Ruby Regexp, присвоение переменных в 1 строке
В настоящее время я пытаюсь преобразовать строку в несколько переменных. Пример строки: ryan_string = "RyanOnRails: This is a test" Я сопоставил его с этим регулярным выражением с 3 группами: ryan_group = ryan_string.scan(/(^.*)(:)(.*)/i) Теперь, чтобы получить доступ к каждой группе, мне нужно сделать что-то вроде этого: ryan_group[0][0] (first group) RyanOnRails ryan_group[0][1] …

3
Как сопоставление с образцом в Scala реализовано на уровне байт-кода?
Как сопоставление с образцом в Scala реализовано на уровне байт-кода? Это что-то вроде серии if (x instanceof Foo)конструкций или чего-то еще? Каковы его последствия для производительности? Например, учитывая следующий код (из Scala By Example, страницы 46-48), как будет evalвыглядеть эквивалентный Java-код для метода? abstract class Expr case class Number(n: Int) …

9
Как выбрать строки между двумя шаблонами маркеров, которые могут встречаться несколько раз с awk / sed
Используя awkили sedкак я могу выбрать линии, которые встречаются между двумя разными шаблонами маркеров? Эти шаблоны могут быть отмечены несколькими разделами. Например: предположим, что файл содержит: abc def1 ghi1 jkl1 mno abc def2 ghi2 jkl2 mno pqr stu И начальный образец, abcа конечный образец - mno Итак, мне нужен вывод …

8
Варианты производительности запросов LIKE в PostgreSQL
Я видел довольно большие различия во времени ответа на LIKEзапросы к конкретной таблице в моей базе данных. Иногда я получаю результаты в пределах 200-400 мс (очень приемлемо), но в других случаях для получения результатов может потребоваться до 30 секунд. Я понимаю, что LIKEзапросы очень ресурсоемкие, но я просто не понимаю, …

1
Почему сопоставление с образцом в Scala не работает с переменными?
Возьмем следующую функцию: def fMatch(s: String) = { s match { case "a" => println("It was a") case _ => println("It was something else") } } Этот шаблон хорошо сочетается: scala> fMatch("a") It was a scala> fMatch("b") It was something else Что я хотел бы сделать, так это следующее: def …

10
Нечеткий поиск Javascript, который имеет смысл
Я ищу библиотеку JavaScript нечеткого поиска для фильтрации массива. Я пробовал использовать fuzzyset.js и fuse.js , но результаты ужасны (есть демонстрации, которые вы можете попробовать на связанных страницах). После некоторого чтения о расстоянии Левенштейна мне показалось, что это плохое представление о том, что пользователи ищут при вводе текста. Для тех, …

3
Сопоставление нескольких классов case в scala
Я выполняю сопоставление с некоторыми классами case и хотел бы обрабатывать два случая таким же образом. Что-то вроде этого: abstract class Foo case class A extends Foo case class B(s:String) extends Foo case class C(s:String) extends Foo def matcher(l: Foo): String = { l match { case A() => "A" …

1
Elm Compiler работает вечно, компьютер просто нагревается
Я не уверен, что вызывает эту проблему, но в проекте, который я создаю, компилятор тратит часы на компиляцию модуля. Общий размер моей кодовой базы составляет 352 КБ, но ни один из модулей не превышает 10 КБ. Я использую собственный порт, но это очень тривиально; Я просто увлекаюсь Date.now()этим. Есть ли …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.