Napisz quine, które składa się z prawdziwych angielskich słów oddzielonych pojedynczymi spacjami. „Słowo” jest zdefiniowane jako ciąg znaków zawierający tylko małe i wielkie litery ( /[a-zA-Z]+/
w wyrażeniu regularnym). Aby być „prawdziwym”, twoje słowo musi zostać rozpoznane przez oficjalny słownik Scrabble .
Korzystam ze słownika Scrabble, ponieważ daje on ostateczną odpowiedź na to, co jest i nie jest ważne. Istnieje zbyt wiele szarych obszarów ze zwykłym słownikiem. Zauważ, że „A” i „I” (nie wspominając o „quine”) nie są poprawnymi słowami scrabble.
Ponieważ pisanie Quine'a tylko za pomocą liter i spacji jest prawie niemożliwe w większości języków programowania, masz możliwość wymiany pojedynczych spacji między słowami z charakterem swojego wyboru. Możesz także dołączyć znaki na początku pierwszego słowa i na końcu ostatniego słowa. Te dodane znaki mogą być dowolne (w tym znaki nowej linii i nie-ASCII) oprócz liter (az, AZ) . Istnieje jednak kara za ich dodanie (patrz punktacja).
Detale
- Jak zwykle, quines nie może czytać ani uzyskiwać dostępu do własnego kodu źródłowego. (Powiedziałbym, że polecenie Q HQ9 + narusza to.)
- Dane wyjściowe powinny przejść do standardowego wyjścia lub podobnej alternatywy. Brak danych wejściowych.
- Słowa nie muszą być pisane dużymi literami. Mogą mieć wszędzie czapki i małe litery. Ciąg słów nie musi mieć żadnego sensu.
- Żadne słowo nie może być użyte więcej niż 3 razy w twoim programie. Różne litery pisane wielkimi literami to wciąż to samo słowo (np. „DOG”, „pies” i „dOg” są tym samym słowem).
- Używanie języków takich jak PHP czy HTML, który można po prostu kot się ich zawartości jest uważany za trywialne luka i jest niedozwolone.
- Program musi zawierać co najmniej jedno słowo.
Punktacja
Twój wynik to liczba „prawdziwych słów” w twoim programie plus następujące kary:
- +1 za każde pole, które zostało zastąpione inną postacią
- n n na każde n znaków dodanych przed pierwszym słowem (tak, to jest n potęgi n)
- n n na każde n znaków dodanych po ostatnim słowie
Na przykład program
We all LIKE PROgraMmING
uzyska 4, ponieważ zawiera 4 słowa; żadne znaki nie zostały dodane ani zastąpione żadnymi spacjami. Oczywiście wynik byłby We all LIKE PROgraMmING
.
Program
!We@all LIKE#PROgraMmING- =
uzyskałby 4 + 2 + 1 + 27 = 34; 4 dla słów, 2 dla zastąpionych spacji, 1 dla !
przodu i 27 dla - =
końca. Oczywiście wynik byłby !We@all LIKE#PROgraMmING- =
.
Najniższy wynik wygrywa. Tiebreaker podchodzi do odpowiedzi z najmniejszą liczbą punktów karnych. Jeśli nadal jest remis, wygrywa najwyższa głosowana odpowiedź.
źródło
Odpowiedzi:
skrypt golfowy, 8 słów + 8 symboli =
2016 (3?)Słowa są tylko wypełniaczem, rdzeń to mały rdzeń quine:
Duplikuje i ocenia funkcję, która po prostu dołącza instrukcje do duplikowania i oceny. Kiedy funkcja jest drukowana, jest ona automatycznie rygoryzowana. To najmniejszy quine, który coś robi .
Lub możemy po prostu użyć literału funkcji, który nigdy nie zostanie oceniony. Ale to jest jak oszustwo ...
źródło
{a`b"x.y~z"c}x.y~z
{whatever}
naruszałoby zasadę zbyt banalne ( „przy użyciu języków takich jak PHP czy HTML, który można po prostu kot się ich zawartości jest uważane za błahe luka i nie jest dozwolony.”)> <> , 25 słów + (22 + 1 1 + 1 1 ) extra =
5749Boże, mój mózg.
Ponieważ reguły mówią „Nie ma danych wejściowych”, aby ten program działał, musisz umieścić w pustym pliku potok.
No i tak,
brr
jest ważnym słowem Scrabble, podobnie jaktsktsk
ipfft
.Wyjaśnienie
Przede wszystkim następujące słowa to brak operacji:
Wynika to z dwóch powodów:
abcdefl
numery push (odpowiednio 10, 11, 12, 13, 14, 15 i długość stosu). Ponadtoi
naciska -1, jeśli EOF jest spełniony, ponieważ nie ma danych wejściowych.p
Poleceń wyskakuje trzy znakiv,y,x
i miejscav
na położeniex,y
.Tak,> <> pozwala modyfikować kod źródłowy w locie! Jednak tak naprawdę nie korzystamy z tego, ponieważ potrzebujemy tylko
p
do strzelania.Jeśli pozbędziemy się tych braków, otrzymamy:
W podobny sposób
laced app
częśćplaced apple
ie alp
częśćapple alp
są również „no-ops”, a „rr
of”brr
po prostu odwraca stos dwa razy, co możemy również usunąć:Wreszcie coś, co wygląda jak zwykły program> <>! Chodzi o to, aby użyć standardowego quine> <>, który działa tak:
'
rozpoczyna parsowanie ciągów, wypychając każdy napotkany znak, aż trafimy na kolejny'
'
Ponownie lądujemy na inicjale i zatrzymujemy parsowanie łańcucha. W rezultacie umieściliśmy każdy znak w programie (oprócz początkowego'
) na stos.Potem dzieje się:
źródło
i
.Kurczak , 1 słowo
Zwykle nie przepadam za esolangami, ale ten wydawał się do tego idealny. Myślę, że to prawdziwy quine:
Pcha 1 kurczaka na stos. Stos zostanie następnie wyświetlony.
źródło
R, 2 słowa + 1 zamiana + 1¹ trailing = 4
Obiekty, które nie są przypisane do niczego, są po prostu drukowane na standardowe wyjście. Ponieważ wyrażenie jest obiektem, drukuje się następujący kod:
Poprzednie zgłoszenie, 5 punktów:
źródło
Python 2, 58 = 37 słów + 21 znaków interpunkcyjnych
Z dodanymi nowymi liniami:
Trzy zastosowania na słowo ograniczały to, co utrudniało pisanie. Chciałem użyć ciągu z całym kodem więcej niż 3 razy, a każdy ciąg musiał być zaizolowany
if else and or
operatorami, których miałem tylko ograniczony zapas.źródło
Julia, 1 słowo + 1¹ poprzedzające = 2
Julia ma obiekty zwane symbolami, które są zdefiniowane za pomocą poprzedzającego
:
. Podobnie jak moje rozwiązanie R, drukuje się ono po przesłaniu.źródło
Wiersz poleceń DOS, 10
Błąd quine, wydaje się, że nie zbanowany
źródło
&
koduje cały kod i przestaje się wyświetlać&
jednak słowo?&
to dwa symbole. 5 (słowa) + 1 (końcowe) + 2 ^ 2 wiodące = 10.Zaklęcia Runiczne , wynik 4 + 3 + 1 1 +1 1 = 9
Wypróbuj online!
Słowa:
hot ox not knot
(4)Zamienniki:
3 4 +
(3)Przed:
"
(1)Po:
@
(1)Wszystkie postacie
GNOQWghtxz
nie mają opozycji w Runicznej (podobnie jak spacja i kropka, ale więcej spacji nie pomaga w zdobywaniu punktów). UwzględniającX
ik
wymagane dla funkcjonalności, daje to następującą dostępną listę słów:Wybrałem wiśni w zależności od potrzeb przestrzeni, w którą się znajdowała, i zabrzmiało to zabawnie.
Usunięcie wszystkich znaków NOP daje następujący quine:
Wypróbuj online!
źródło
co? - 1 słowo + 1 ** 1/1 ^ 1 = 1 znak po słowie = 2 łączny wynik.
Ouch!
czy ważna jest quine?Uruchom go jak
pythuhn.py Ouch!
, aOuch!
w bieżącym katalogu nie może być pliku o nazwie .źródło