Wykorzystajmy rozszerzoną rzeczywistość do polowania na małe stworzenia ukryte w kodzie źródłowym. Napisz program quine, który wyprowadza własne źródło kodu, z wyjątkiem 5 kolejnych znaków, które zostaną zmodyfikowane i które wyświetlą PCG-mon :(^_^)
5 kolejnych znaków można umieścić w dowolnym miejscu kodu źródłowego (od pozycji 0
do n-5
, n
będący długością kodu źródłowego). Kod źródłowy musi mieć minimalną długość 5 znaków. Łańcuch (^_^)
lub dowolny z jego podciągów o długości> = 2 nie może pojawiać się w początkowym kodzie źródłowym, a tylko w danych wyjściowych.
Przykład prawidłowego przesłania:
- kod źródłowy
my source code
, wynikmy (^_^)e code
Nieważny:
- kod źródłowy
(^_^) copy;
, wynik(^_^) (^_^)
Kryteria wygranej
Najkrótszy kod w bajtach wygrywa.
(^_^)
z kodem źródłowym zawierającym mniej niż 5 znaków? może ze specjalnym kodowaniem ...G
generuje dane wyjścioweabcdefghijklmnopqrstuvwxyz
.Odpowiedzi:
JavaScript ES6, 44 bajty
Wynik:
Nadal pracuję nad golfem, ale na razie działa.
źródło
=_=
$=_=>`(\^\_\^\)${($+'').slice(3)};$()`;$()
(w rzeczywistości wygląda to jeszcze ładniej, ponieważ teraz wygląda na to, że budzisz się śpiącą twarz). :)Vim,
33, 27 klawiszyZauważ, że
<C-v>
oznacza ctrl + v i jest bajtem0x16
i<esc>
jest znakiem ucieczki i jest bajtem0x1B
.To po prostu używa nieco zmodyfikowanej wersji mojego Golfa, quine dla wielkiego dobra! odpowiedź.
Wyjścia:
Jest to ważne, ponieważ
^V
jest sposobem, w jaki reprezentuje vim<C-v>
i^[
jest sposobem, w jaki reprezentuje vim<esc>
.Podstawową ideą jest po prostu wprowadzenie tekstu
(^_^)
według jego punktów kodowych, abyśmy mogli uniknąć umieszczenia tych znaków w kodzie źródłowym. W trybie<C-v>number
wstawiania wstawi znak ASCII „liczby”. Jednak ponieważ wyzwanie mówi:Nadużywa tej odpowiedzi na „ciąg” regułę tylko wprowadzając codepoints rodzaje
^
znaków i wejściem(
,_
i)
bezpośrednio.Oto gif, który pozwala zobaczyć to rozwiązanie w akcji, i porównuje kod źródłowy i dane wyjściowe obok siebie:
źródło
^
znaku kontrolnego ... +1CJam ,
1311 bajtówTłumacz online (-2 bajty dzięki @MartinEnder) .
źródło
Python,
115111107 bajtówZadzwoń,
f()
a wynikiem będzie:Zainspirowany częściowo odpowiedzią na podobne pytanie .
źródło
CJAM,
1615 bajtówWypróbuj tutaj .
źródło
Go (golang), 131 bajtów
To wyzwanie musi mieć odpowiedź w Go!
Wypróbuj online!
źródło
JavaScript (ES6), 91 bajtów
Jest już odpowiedź JavaScript, ale nie ma odpowiedzi JS, która nie czyta źródła:
Jest to oparte na mojej odpowiedzi na pytanie, że nie czytam kodu źródłowego, dla ciebie golf dla dobrego dobra! . Wyjścia
Można to łatwo zmienić, przesuwając się po drugim
%s
w ciągu. Na przykład,wyjścia
źródło
Galaretka , 22 bajty
Dostępne w TryItOnline
Korzysta z wbudowanej quine zdolnej do załadunku
“ØV”ṘV
Na
abc
końcu jest tylko wypełniacz do zastąpieniab³
przekształca liczbę całkowitą w bazę 100, co powoduje[40,94,95,94,41]
Ọ
rzutowanie na znaki, co powoduje,(^_^)
że cały wynik jest
“4094959441b³ỌØV”(^_^)
źródło
C # 5.0, 715 bajtów
Wiem, to jest ogromne. Chciałem tylko dodać rozwiązanie C #.
Dane wyjściowe to:
Dostępne na Ideone.com
źródło
MATL , 14 bajtów
Daje wynik
')_`_*i'(^_^)h
.Wypróbuj online!
Wyjaśnienie
źródło
Bash, 178 bajtów
Pfff, nie jestem dobry w quinesach: / Każda sugestia, aby zagrać w golfa jest więcej niż mile widziana! :-)
źródło