Użyj konwersji podstawowej
Ta odpowiedź była na pytanie, które chciało sztuki ASCII, która składała się z postaci + |-
i nowych linii. Ponieważ jest tylko 5 możliwych znaków, można je traktować jako liczbę podstawową 5 i konwertować na bajty, pakując 3,45 znaków na bajt.
Wykorzystaj prawidłowości
Często dane będą miały pewne prawidłowości, nawet jeśli nie są wystarczająco silne, aby zastosować określone narzędzia, takie jak dublowanie. Na przykład w powyższym pytaniu pożądany wynik miał nowe wiersze z grubsza równomiernie rozmieszczone w teście, ponieważ tekst był z grubsza prostokątny. Wykorzystałem to, aby skrócić mój kod, używając funkcji podziału Pyth'a na n elementów, a następnie dołączając się do nowej linii.
Poznaj swoje narzędzia i wybierz odpowiednie dla danego zadania.
Najbardziej wydajne i wydajne narzędzia do przetwarzania tekstu, jakie znam:
Silniki Regex:, ///
Retina, Perl, w kolejności kompromisu mocy / zwięzłości.
Użyj, jeśli to, co chcesz zrobić, może być dokładnie opisane w podstawieniach wyrażeń regularnych, takich jak ta odpowiedź
Niewyraźne narzędzia do przetwarzania tekstu: gema itp. (Jestem pewien, że istnieją inne, ale są zbyt niejasne)
Użyj, jeśli mają funkcję dokładnie taką, jakiej potrzebujesz, której nie ma nic więcej. Tak jak w tym pytaniu , z rekurencyjnym dopasowaniem gema.
Ogólne języki gry w golfa: CJam, Pyth itp.
Użyj, jeśli wykorzystujesz na tyle subtelny kompleks, że żadne inne narzędzie nie wykona zadania lub po prostu wykona zadanie krócej.
Wypróbuj wiele podejść
Dotyczy to każdego pytania związanego z golfem, ale szczególnie tutaj. Nie będziesz wiedział, czy prawidłowość można wykorzystać, dopóki jej nie wypróbujesz. Prawdopodobnie w wielu językach.