Сопоставление с образцом: различия между версиями

[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
→‎Алгебраические типы данных: Конструктор значения алгебраического типа, т.к. конструктор типа не применяется сопоставлении
стилевые правки
Строка 1:
'''Сопоставление с образцом''' ({{lang-en|Patternpattern matching}}) — метод анализа и обработки структур данных в [[Язык программирования|языках программирования]], основанный на выполнении определённых инструкций в зависимости от совпадения исследуемого значения с тем или иным образцом, в качестве которого может использоваться [[Константа (программирование)|константа]], [[предикат]], [[тип данных]] или иная поддерживаемая языком конструкция.
 
Как правило, имеется возможность указать более одного образца и связанного с ним действия.
 
Сопоставление с образцом часто встречается в [[Функциональное программирование|функциональных языках программирования]], таких как языки семейства [[ML]] и [[Haskell]]., [[Императивноев программирование|Императивныетом языки]]числе иногдав тоже умеют сопоставлять с образцом. Авиде [[регулярныеОхрана выражения(программирование)|охранных выражений]] для символов, являясь случаем сопоставления с образцом, поддержаны везде.
 
Образцы последовательностей (например, текстовая строка) можно сопоставлять с [[Регулярные выражения|регулярными выражениями]].
 
== Сравнение с точным значением ==
Строка 54 ⟶ 56 :
 
== Сопоставление со строкой ==
Языки с развитойразвитыми поддержкойсредствами обработки текста, такие как [[AWK]] и [[Снобол|SNOBOL]], поддерживают сопоставление с регулярным выражением.
 
Пример на AWK, подсчёт количества включений слов «foo» или «bar»:
Строка 63 ⟶ 65 :
</source>
 
 
== См. также ==
* [[Алгоритм Rete|Rete]]
{{Строки}}{{rq|sources|stub|topic=IT}}
{{перевести|en|Pattern matching}}
 
 
[[Категория:Функциональное программирование]]