Połowa kardynalna cykliczna szyna jest cykliczną szyną z dwoma stanami, jeden prostopadły do drugiego.
Zasady
Możesz zdecydować, który obrót chcesz zastosować, zgodnie z ruchem wskazówek zegara lub przeciwnie do ruchu wskazówek zegara.
Po obróceniu wszelkie luki w kodzie należy zastąpić spacjami, aby zachować pozycję.
Twój program musi spełniać wspólnotową definicję quine .
To jest golf golfowy, więc wygrywa najkrótszy program w każdym języku. Twój pierwszy program jest używany do liczenia bajtów.
Standardowe luki są zabronione.
Przykłady
Jeśli twój program to:
$_='print';eval
Następnie następna iteracja musi być albo:
$
_
=
'
p
r
i
n
t
'
;
e
v
a
l
lub
l
a
v
e
;
'
t
n
i
r
p
'
=
_
$
który musi wypisać oryginalny program:
$_='print';eval
Jeśli twój program to:
;$_=';
;$_=';
print
Następnie następna iteracja musi być albo:
;;
''t
==n
__i
$$r
;;p
lub:
p;;
r$$
i__
n==
t''
;;
który musi wypisać oryginalny program:
;$_=';
;$_=';
print
code-golf
quine
source-layout
Dom Hastings
źródło
źródło
Odpowiedzi:
CJam ,
191715 bajtówWypróbuj online! Spróbuj rotacji.
Wyjaśnienie
W obróconym kodzie mamy wszędzie dostęp do linii:
Jak zauważyła Lynn podczas wcześniejszego wyzwania Doma, wstawianie linii odniesienia nadal tworzy prawidłową wartość quine, ponieważ i tak linie liniowe wewnątrz bloku zostaną zachowane dosłownie, a linie będą miały również ciąg
"_~"
znaków, aby te dwa znaki na końcu pojawiały się na ich własna linia. Tak więc{s"_~"+...}_~
(z linefeeds) wciąż jest prawidłową strukturą quine (chociaż na końcu łańcucha pojawi się dodatkowy linefeed).N*
teraz wstawia jeszcze więcej linii do tego ciągu, ale tak naprawdę nas to nie obchodzi: ponieważ teraz""-
ma kanał wewnątrz tego łańcucha, więc faktycznie usuwa wszystkie kanały z reprezentacji programu. Tak więc ponownie otrzymujemy poziomą formę kodu, cofając obrót.źródło
Stax , 28 bajtów
Uruchom i debuguj pierwszy formularz
Uruchom i debuguj drugi formularz
źródło
> <> , 22 bajty
Wypróbuj online!
Obrócone w lewo:
Wypróbuj online!
Pierwszy drukuje linię w odwrotnej kolejności z przeplatanymi znakami nowej linii, a drugi drukuje ją w odwrotnej kolejności bez znaków nowej linii.
źródło
05AB1E ,
3634 bajtówSpróbuj pierwszej iteracji lub Spróbuj następnej iteracji
źródło