Cytując perlop:
Jeśli jednak zmienna została stosowany tylko w kontekstach łańcuchowych został ustawiony i ma wartość, która nie jest pusty ciąg i pasuje do wzór /^[a-zA-Z]*[0-9]*\z/
, przyrost o jest wykonywany jako ciąg znaków, zachowując każdy znak w zakresie z przenoszeniem.
Zakresy to 0-9, A-Z i a-z. Kiedy nowa postać jest potrzebna, jest pobierana z zakresu pierwszego znaku. Każdy zakres jest niezależny; znaki nigdy nie opuszczają zakresu, w którym zaczynały.
9z
nie pasuje do wzorca, więc otrzymuje przyrost liczbowy. (Prawdopodobnie powinien dać ostrzeżenie "Argument is not numeric", ale nie w Perlu 5.10.1.) Cyfry są dozwolone tylko po wszystkich liter (jeśli są), nigdy przed nimi.
pamiętać, że cały ciąg cyfr robi pasuje do wzorca, a robi otrzymać przyrost string (jeśli to nigdy nie zostało użyte w kontekście numerycznej). Jednak wynik przyrostu łańcucha na takim łańcuchu jest identyczny z przyrostem numerycznym, z tym że ma on nieskończoną dokładność i początkowe zera (jeśli są) są zachowane. (W ten sposób można stwierdzić różnicę tylko wtedy, gdy liczba cyfr przekracza pojemność IV lub NV, lub ma początkowe zera.)
Nie rozumiem, dlaczego uważasz, że Zz
powinno stać się Aa
(chyba że myślisz o modularnej arytmetyki, ale tak nie jest). Staje AAa
w tym procesie:
- Zwiększanie
z
otacza się a
. Zwiększ poprzedni znak.
- Inkrementacja
Z
zawija się do numeru A
. Nie ma poprzedniej postaci, więc dodaj pierwszą z tego zakresu, czyli inną A
.
range operator (..
), gdy podane dwa ciągi (i jeden lewy pasuje do wzorca), wykorzystuje przyrost ciąg produkować listę (to wyjaśnione pod koniec tego rozdziału). Lista zaczyna się od argumentu po lewej stronie, która jest następnie zwiększany aż do:
- Wartość równa argument prawy lub
- Długość wartość przekracza długość argumentu prawostronnego .
Powoduje wyświetlenie listy wszystkich wartości. (Jeśli przypadek 2 rozwiązana listy, wartość końcowa nie jest w nim zawarte.)
Wygląda na to, że w kontekście autoreferencji 9z, 9a, 9b lub 9zzz123 itp. Są takie same. Trasowanie niezliczonej ilości rzeczy jest po cichu odrzucane. – Mike
Inkrementuje postacie.To nie próbuje dowiedzieć się, jaki wzór chcesz. Mówię o tym trochę w nowym wydaniu Podręcznika uczniowskiego uczenia się, który już prawie skończyłem. :) –
Czy istnieje nazwa tego "numerowania" formatu przy użyciu liter, czy ktoś wie? – AmbroseChapel