W wyrażeniu Raku istnieją dwa rodzaje naprzemienności: the |
i ||
. Jaka jest różnica ?
say 'foobar' ~~ / foo || foobar / # 「foo」
say 'foobar' ~~ / foo | foobar / # 「foobar」
|| to stare zachowanie naprzemienne: spróbuj naprzemiennie od pierwszego zadeklarowanego do ostatniego
The | spróbuj naprzemiennie od najdłuższego do najkrótszego deklaratywnego atomu . Nazywa się to strategią specyfikacji najdłuższego dopasowywania żetonów .
say 'foobar' ~~ / foo || foobar / # 「foo」 is the first declared
say 'foobar' ~~ / foo | foobar / # 「foobar」 is the longest token
Bardziej szczegółowa odpowiedź w tym poście