Wskazówki dotyczące gry w golfa w ///

12

Jakie masz ogólne wskazówki na temat gry w golfa w /// ? Szukam pomysłów, które można by zastosować do problemów z golfem i które są co najmniej nieco specyficzne dla /// (np. „Usuń niepotrzebne białe znaki” nie jest odpowiedzią). Wskazówki dotyczące itflabtijtslwi i linii są tematyczne i obowiązują również tutaj.

Proszę zamieścić jedną wskazówkę na odpowiedź.

Towarzyszu SparklePony
źródło

Odpowiedzi:

5

Użyj //jako zamiennika

Podczas definiowania wielu zamienników, np .:

/a/b//c/d//e/f//g/h//i/j//k/l//m/n//o/p//q/r//s/t//u/v//w/x//y/z/

(65 bajtów). Możesz użyć //jako zamiennika:

/~/\/\///a/b~c/d~e/f~g/h~i/j~k/l~m/n~o/p~q/r~s/t~u/v~w/x~y/z/

(61 bajtów).

Towarzyszu SparklePony
źródło
4

Niekompletne /// bloki nie są drukowane

Zauważ, że ten wiersz kodu

/Stack/Overflow//x/\//Stack/ignore/DoItyignore

drukuje tylko Overflow- część od /ignorepoczątku nie jest uwzględniana w danych wyjściowych, ponieważ ///drukuje tylko rzeczy w trzeciej części ukośnika.

Wypróbuj niekompletny blok online!

Zastępca nadal rozważa tę kwestię: gdybyśmy tam wstrzyknęli cięcie, wszystko się zmieni:

/Stack/Overflow//x/\//Stack/ignore/doitxignore

Wypróbuj to online!

Dane wyjściowe są Overflowdoit, ponieważ zastąpienie xprzez /uczyniło go poprawną składnią.

Steenbergh
źródło
4

Rozwijając na podstawie i drukując wyniki pośrednie, uwzględnij poprzednie iteracje w przyszłych

Brzmiało to trochę skomplikowane. To, co mam na myśli, można lepiej opisać za pomocą rzeczywistej odpowiedzi. To wyzwanie wymaga tego konkretnego wyniku:

Steve Ballmer still does not know.
Steve Ballmer still does not know what he did.
Steve Ballmer still does not know what he did wrong.
Steve Ballmer still does not know what he did wrong with mobile.

Jednym naiwnym rozwiązaniem może być:

/1/Steve Ballmer still does not know//2/ what he did//3/ wrong//4/ with mobile./1.
12.
123.
1234

Wskazówki jak wzorzec 1, 12, 123... powtarza? Cóż, nie kiedy to zrobisz:

/1/Steve Ballmer still does not know//2/1 what he did//3/2 wrong//4/3 with mobile/1.
2.
3.
4.

Jeszcze raz dziękuję Martinowi Enderowi za zwrócenie na to uwagi!

Steenbergh
źródło
2

Użyj znaku na końcu kodu, aby obsłużyć przypadki krawędzi

Jeśli masz fragment ///kodu, który obsługuje wszystkie przypadki oprócz jednej, możesz użyć znaku na krawędzi kodu, aby obsłużyć wielkość liter.

Przykład: Unary dodaj dwie liczby razem, chyba że druga liczba to 7, w którym to przypadku po prostu wypisz pierwszą liczbę.

Kod, który obsługuje wszystkie oprócz „drugiego numeru to 7”:

/+//<INPUT 1>+<INPUT 2>

Dodając a *na końcu kodu, możemy obsłużyć skrzynkę brzegową, zastępując +0000000*ją niczym (konieczne jest dołączenie do, +aby upewnić się, że liczba nie jest większa niż 7). Pamiętaj, aby dołączyć kod na końcu przed danymi wejściowymi, aby go wyczyścić.

/+0000000*///+///*//<INPUT 1>+<INPUT 2>*

Wypróbuj online!

Na przykład w „świecie rzeczywistym” zastosowałem tę sztuczkę w przypadku niektórych problemów „Jimmy”:

Towarzyszu SparklePony
źródło