Aceto , 19 17 bajtów niekonkurujących
Nowa wersja (17 bajtów):
Ta nowa wersja pobiera postacie pojedynczo i najlepiej ją wykonać z -Fopcją. Działa podobnie, ale nie identycznie jak poprzednie rozwiązanie:
>,
Op0
p|1u
,ip^
Stara odpowiedź (19 bajtów):
(Nie konkuruje, ponieważ musiałem naprawić dwa błędy w tłumaczu)
|p1u
iOp<
|!`X
rd!r
Jest to pierwsza odpowiedź Aceto, która podkreśla, co może zrobić stosunkowo dobrze, powiedziałbym. „Listy” to strumienie wejściowe, z jednym wejściem na linię, „1” dla wartości true i „0” dla wartości false, z pustym ciągiem oznaczającym koniec listy.

Programy Aceto działają na krzywej Hilberta, zaczynając od lewego dolnego rogu, a kończąc na prawym dolnym rogu. Po pierwsze, rwprowadzamy ciąg, dpowielamy i negujemy ( !), zamieniając puste ciągi w True, a wszystko inne w False. Następnie jest warunkowe lustro poziome ( |): Jeśli górny element na stosie jest prawdą, odbij lustro w poziomie. Dzieje się tak, gdy łańcuch jest pusty. Jeśli wykonujemy kopię lustrzaną, lądujemy na X, co zabija tłumacza.
W przeciwnym razie konwertujemy pozostałą kopię na stosie na integer i wykonujemy kolejne warunkowe lustro poziome: Tym razem, ponieważ 1 jest prawdą, a 0 jest fałszem, odbijamy, jeśli widzimy (pierwszą) prawdziwą wartość. Jeśli nie wykonamy lustra (widzieliśmy 0), pprzeszukujemy zawartość stosu (ponieważ stos jest pusty, zero) i przeskakujemy do Osztywności krzywej, gdzie zaczęliśmy, rozpoczynając od nowa cały proces.
W przeciwnym razie, gdy zobaczymy 1, odbijamy lustro i lądujemy na nim u, co odwraca kierunek, w którym poruszamy się po krzywej Hilberta. 1pwypisuje 1, a teraz kontynuujemy to samo, Oco byśmy zrobili, gdybyśmy widzieli 0, ale ponieważ jesteśmy w „trybie odwróconym”, nasze pochodzenie znajduje się w prawym dolnym rogu , więc skaczemy tam.
Teraz mamy rkolejny ciąg i negujemy go. Jeśli łańcuch był pusty, a zatem element najwyższego stosu jest zgodny z prawdą, nie ujdzie następnej komendy ( ), co `spowoduje zamknięcie.X
W przeciwnym wypadku (jeśli łańcuch nie był pusty), my nie uciec Xi zignorować. W takim przypadku przechodzimy do left ( <), print 0 (ponieważ stos jest pusty) i przeskakujemy z powrotem do Origina.