znalazłem tyldy ~
w tym Config::INI Perl 6 Grammar:Co znaczy ~ w Gramacie (w Perlu 6)?
token header { ^^ \h* '[' ~ ']' $<text>=<-[ \] \n ]>+ \h* <.eol>+ }
Brak tyldy ~
w tekście mam obliczeniowej. Wiem, że ważne jest, aby '[' ~ ']'
, ponieważ pominięcie wszystkich lub wszystkich '['
, ~
i ']'
powoduje, że gramatyka nie pasuje do mojego tekstu.
Ponieważ wiedziałem, jaki był wzór, który mi został dopasowanie, zmieniłem go tak, że nawiasy kwadratowe były wokół wyrazu tekstu, a więc:
token header { ^^ \h* '[' $<text>=<-[ \] \n ]>+ ']' \h* <.eol>+ }
Więc wydaje mi się, że '[' ~ ']'
naprawdę mówi mecz kwadratowy wspornik i spodziewaj się później wspornika zamykającego.
W każdym razie wiem, że w normalnej składni Perla 6 tylda ~
służy do łączenia łańcuchów. Ale to oczywiście oznacza coś innego wewnątrz this Grammar. (W Perlu 6 możesz użyć Grammarów do wydobywania skomplikowanych struktur danych z tekstu, które są jak wyrazy regularne przenoszone na wyższy poziom).
Zresztą Szukałem documentation dla Grammars i Regular Expressions dla pojedynczego ~
, ale nie znaleźliśmy żadnych wewnątrz gramatyki ani wewnątrz wyrażenia regularnego.
cross posted on StackOverflow en español
Ciągle zapominam o tej funkcji. –
http://design.perl6.org/S05.html#line_876 – Christoph