Mój ojciec, który był naprawdę dobrym APLerem i nauczył mnie wszystkich podstaw APL (i wielu innych), zmarł tego dnia, pięć lat temu. W ramach przygotowań do 50-lecia APL znalazłem ten list patentowy (przetłumaczony dla wygody tych, którzy nie czytają duńskiego) na odręczne logo. Wyjaśnia główny powód, dla którego APL nigdy nie zdobywa dużej bazy użytkowników - powód, który oczywiście dotyczy również wszystkich niesamowitych języków golfowych tej społeczności:
A 3497/77 Req. 29 th sierpnia 1977 na 13
Henri Brudzewsky, firma konsultingowa ds. Inżynierii, Mindevej 28, Søborg,
klasa 9 , w tym komputery, zwłaszcza komputery kodowane APL,
klasa 42: firma pośrednictwa IT, szczególnie podczas korzystania z komputerów kodowanych APL.
Zadanie
Tworzenie nieskończenie powtarzającego się tekstu EASIER COMMUNICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS
bez nowych linii. Możesz rozpocząć tekst od EASIER
lub FASTER
lub FEWER
.
Odpowiedzi:
05AB1E , 25 bajtów
Wypróbuj online!
Wyjaśnienie:
źródło
[
Oznacza „początek nieskończonej pętli”,‘æƒËRSˆ¾¥ƒŽÁˆ¾¡ŸÂ ‘
jest skompresowaną wersjąEASIER COMMUNICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS
i?
oznacza drukowanie bez nowej linii.compressed
.SVG (HTML5), 336 bajtów
Edycja: Niektóre osoby odkryły, że czcionka nie pasuje do nich, więc oto wersja, która umożliwia dostosowanie kilku pikseli:
źródło
PHP, 76 bajtów
Wypróbuj online!
źródło
EASI0MMUNICATION1FAST0DING1FEW0DERS1
jest traktowany jako ciąg"EASI0MMUNICATION1FAST0DING1FEW0DERS1"
. Po trzecie,strtr
oczekuje tablicy asocjacyjnej („mapy” lub „słownika” w innych językach), ale ten kod jest przekazywany w tablicy zwykłej, więc traktuje tablicę zwykłą jako tablicę asocjacyjną z kluczami 0 i 1. Wreszcie te liczby całkowite 0 i 1 traktuję jako ciągi,"0"
a"1"
ponieważ, jak się domyślacie, funkcja potrzebuje ciągów.Vim 69 bajtów
źródło
HTML, 122 bajty.
Przepraszam, nie mogę się powstrzymać.
źródło
Python 2 ,
8281 bajtów-1 bajt dzięki Dziurawej Zakonnicy.
Prawdopodobnie robię coś złego, ale jest naprawdę późno, więc. Zwróć uwagę na przecinek końcowy.
Wypróbuj online!
Inne rozwiązanie, 85 bajtów
Prawdopodobnie mogę dalej grać w golfa.
Wypróbuj online!
źródło
'%sER CO%s MEANS '
i usuniesz spacje z elementów formatu, będzie bardziej golfowy i będzie działał poprawnie.Galaretka ,
3329 bajtów4 bajty dzięki Erikowi Outgolfer.
Wypróbuj online!
źródło
“©%5ÐƬwȮh¬Þ6.⁷ḷḊḥṫɠlḶṀġß»
(nadal musisz użyćŒu
i;⁶
) 2) Możesz użyćß
zamiast1¿
.Brachylog , 70 bajtów
Wypróbuj online!
Jak to działa
źródło
HTML / CSS (tylko Firefox),
179177183176173 bajtówZ pewnością nigdzie w pobliżu najniższych wyników, pomyślałem tylko, że fajnie byłoby uzyskać nieskończoną liczbę powtórzeń w HTML / CSS, bez udziału JS :)
Dziennik zmian:
width:100%
styl na,right:0
aby zaoszczędzić 3 bajtyźródło
repeat no-repeat
lub; background-repeat: repeat-x
, ale wymyśliłem, jak tego uniknąć. Okazuje się, że przestrzeganie specyfikacji zapisuje bajty!Python 3 , 87 bajtów
Wypróbuj online!
źródło
end=
zrobić?print
toprint("",end="\n")
.ER CO
iMEANS
(wiodące + końcowe spacje) pozwoliłoby zaoszczędzić trochę bajtów, ale najwyraźniej nie.C (gcc) , 92 bajty
Wypróbuj online!
źródło
LOLCODE , 116 bajtów
Wypróbuj online!
źródło
IM IN YR ...
iIM OUTTA YR ...
tworzą nieskończoną pętlę.!
tłumi powrót karetki po wydrukowaniu.Rubinowy, 77 bajtów
przypisanie
" MEANS "
do zmiennej zapisanej wszystkie 1 bajt :-)źródło
JavaScript (ES6),
9087 bajtówFunkcjonująca alternatywa, 100 bajtów
„Funkcjonowanie” tutaj oznacza „nie spowoduje awarii przeglądarki” (przynajmniej przez jakiś czas)!
źródło
document.write`EASIER COMMUNICATION${m=" MEANS "}FASTER CODING${m}FEWER CODERS`+m
jest równoważnydocument.write([ 'EASIER COMMUNICATION', 'FASTER CODING', 'FEWER CODERS' ], ' MEANS ', ' MEANS ') + ' MEANS '
, który 1) przekonwertuje wszystkie argumenty na ciągi i konkatenuje (drukowanieEASIER COMMUNICATION,FASTER CODING,FEWER CODERS MEANS MEANS
), a 2) i tak nie uwzględni ostatniego,' MEANS '
ponieważ jest poza wywołaniem funkcji ...Befunge , 73 bajty
Wypróbuj online!
źródło
">:#,_
zA"k,
zaoszczędzisz dwa bajty. LinkOktawa, 86 bajtów
Wyjaśnienie:
Jest to dość oczywiste. Jedyną prawdziwą „sztuczką” tutaj jest użycie
while fprintf
. Gdyfprintf
podany zostanie argument return, zwróci liczbę wydrukowanych znaków, a wszystkie niezerowe liczby są uwzględnianetrue
w Octave, więc warunek pętli zawsze będzie prawdziwy.Desperacko próbowałem skrócić to bardziej interesujące podejście, ale okazało się, że jest o 9 bajtów dłuższe, niestety:
Próbuje wstawić ciągi
'ER CO'
i' MEANS'
ciąg w odpowiednich miejscach, używając bezpośredniego indeksowania, gdzie'ababab'-96
jest krótsza wersja[1 2 1 2 1 2]
.To było nieco krótsze (93 bajty), ale wciąż dłuższe niż naiwne podejście
I jeszcze jeden (89 bajtów), stosując podejście Level River St:
Powinno to działać teoretycznie, o jeden bajt mniej niż oryginalne rozwiązanie, ale z jakiegoś dziwnego powodu zawodzi:
Korzysta z funkcji buggy, która
fprintf('abc def')
jest równoważnafprintf"abc def"
.end
Musi być w następnej linii, ale to wciąż jeden bajt krótszy od dwa nawiasy są pomijane.I jeszcze jeden za 87:
Nie mów, że nie próbowałem :)
źródło
fprintf
przetwarza argumenty, prawda? Twoja ostatnia wersja może mieć o 6 bajtów mniej. Wypróbuj online!Alice , 70 bajtów
Wypróbuj online!
Wyjaśnienie
Niestety ponowne użycie
MEANS
(ze spacjami) oszczędza tylko jeden bajt, po prostu drukując całość za jednym zamachem. W związku z tym wyodrębnienieER CO
faktycznie kosztowałoby bajt (lub prawdopodobnie więcej, ponieważ wyodrębnienie innej sekcji byłoby nieco droższe).źródło
C #, 102 bajty
źródło
Pyth , 69 bajtów
Wypróbuj online!
Jak to działa
źródło
Lua , 92 bajty
Wypróbuj online!
źródło
Java (OpenJDK 9) , 114 bajtów
Wypróbuj online! Zatrzymaj wykonanie po kilku sekundach, ponieważ nie wiadomo, kiedy zatrzymać.
źródło
for(;;)
C, 86 bajtów
Zobacz, jak działa online .
źródło
gcc
(użyj opcji domyślnych, aby nie optymalizować wywołania ogona), a po uruchomieniu przekieruj dane wyjściowe do / dev / null, aby przyspieszyć proces. To będzie wina. Dzięki opcji „-O2”, która umożliwia optymalizację wezwania ogona, działa zawsze zgodnie z przeznaczeniem.bc , 76 bajtów
źródło
Perl 6 ,
81 8079 bajtówSpróbuj
Spróbuj
Spróbuj
źródło
MATL , 68 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
Axiom,
9289 bajtówwstaw w jednym wierszu do okna Axiom. Możliwe, że istnieje jedna funkcja krótsza niż „fortranLiteral”, która nie pisze „\ n”
źródło
Braingolf , 78 bajtów
lub
Braingolf , 77 bajtów [niekonkurujących]
Ten nie konkuruje, ponieważ musiałem naprawić 2 błędy dotyczące używania chciwego modyfikatora (
&
) z operatorem char print (@
)źródło
Puste , 267 bajtów
Przesuwa
FEWER CODERS MEANS EASIER COMMUNICATION MEANS FASTER CODING MEANS
na stos, a następnie drukuje. Nigdy nie kończy się jako nie{@}
Ciekawostką jest, że do wygenerowania tego kodu użyłem następującego skryptu Braingolf
źródło
Groovy 79 bajtów
Wykorzystuje interpolację ciągów Groovy'ego.
źródło
PowerShell ,
10097 bajtówWypróbuj online!
Starsza odpowiedź:
PowerShell , 100 bajtów
Wypróbuj online!
PowerShell jest trochę trudny do tego, ponieważ większość godnych sposobów wyświetlania na konsoli również wstawia nowy wiersz.
Write-Host
jest z tego powodu wymagany. Nadal jednak pokazuje, w jaki sposób potok może skrócić ślad kodowania.Będziesz musiał zatrzymać wykonanie po krótkim czasie, ponieważ nie zwróci, ponieważ jest to nieskończona pętla.
Edycja: wygolono 3 bajty, zmieniając
while
pętlę nafor
pętlę.źródło