Uczę się Erlanga od Learn You Some Erlang i widziałem już dwukrotnie wzór [_|_]
, ale nie mogłem znaleźć żadnych informacji na jego temat. Takie użycie wydaje się zbędne, ponieważ pominięcie go z (1) i zastąpienie przez _w (2) daje taki sam wynik bez pogarszania czytelności. To mój pierwszy tydzień z Erlangiem, więc mogę się całkowicie mylić.Czy wzorzec [_ | _] w Erlang oznacza coś konkretnego?
(1) z bestest_qsort:
bestest_qsort(L=[_|_]) ->
bestest_qsort(L, []).
(2) z here:
error:{badmatch,[_|_]} -> ok
@toraritte Wypróbuj 'F ([2,3])'. Wzór '[p]' pasuje do listy zawierającej dokładnie jeden element, który pasuje do 'p'. Nie pasuje do list z więcej niż jednym elementem (inaczej, powiedzmy, "[1,2]" pasowałoby do wzorca '[1]', co nie ma sensu - '[1] = [1,2]' powinno wyraźnie nie pasuje). – sepp2k