Dopasowanie do wzorca: Różnice pomiędzy wersjami

Przejdź do nawigacji Przejdź do wyszukiwania
Dodane 14 bajtów ,  5 miesięcy temu
m
drobne redakcyjne
m (Zamieniam przestarzały tag 'source' na 'syntaxhighlight')
m (drobne redakcyjne)
'''Dopasowanie do wzorca''' to operacja, gdzie pewne wyrażenie sprawdza się ze wzorcem, w którym może znajdować się jednoco lubnajmniej więcejjedno "wolnych„wolne miejsc"miejsce”. W jej wyniku, o ilejeśli nastąpiło dopasowanie, otrzymuje się listę wyrażeń które dopasowały siędopasowanych do wolnych miejsc wzorca.
 
Dopasowywanie do wzorca jest bardzo ekspresywną techniką programistyczną. Dwa najpopularniejsze systemy to:
* [[wyrażenie regularne|wyrażenia regularne]]
* wzorce symboliczne.
 
== Wyrażenia regularne ==
</syntaxhighlight>
 
Dopasowywanie to jest jednym z głównych źródeł siły ekspresji i zwięzłości Perla i innych nowych języków ([[Ruby (język programowania)|Ruby]], [[PHP]], [[Python]] itd.i inne). Analogiczny kod w [[C (język programowania)|C]] musiałby korzystać z biblioteki zapewniającej dopasowywane do wzorców (np. [[PCRE]]), lub byłby proporcjonalnie gigantyczny, i zarazem mało czytelny i, z dużymi szansami na wystąpienie błędów.
 
== Wzorce symboliczne ==
W [[programowanie funkcyjne|językach funkcyjnych]] zwykle używa się wzorców symbolicznych - [[term]]ów ze [[zmienna|zmiennymi]], które dopasowuje się do danego wyrażenia przez [[Unifikacja (informatyka)|unifikację]]. Dostępny jest równieżteż specjalny symbol uniwersalny, pasujący do każdego obiektu; w wielu językach jest to [[znak podkreślenia <tt>_</tt>|podkreślnik]].
 
Na przykład (w [[OcamlOCaml]]u) zamianazamianę wartości liczbowej na ciąg znaków z użyciem dopasowania można zrealizować następująco:
 
<pre>
</pre>
 
Czy teżMożna przekształcać symbole w inne wyrażenia ([[Ocaml]]OCaml, kod z [[texvc]]):
<pre>
let get_encoding = function

Menu nawigacyjne