Hai ucciso il Jabberwock?


37

Il tuo compito è quello di produrre la stringa esatta

The Jabberwocky

senza ricevere input. Si applicano le normali regole di input e output, quindi sono consentite sia funzioni che programmi.

Naturalmente c'è un trucco, non sarebbe divertente senza un trucco. Il tuo programma, quando privo di caratteri non alfabetici, deve iniziare la poesia The Jabberwocky (senza distinzione tra maiuscole e minuscole). Per iniziare la poesia deve essere una sottostringa continua della poesia a partire dall'inizio. La stringa vuota va bene (anche se probabilmente non otterrai un punteggio molto buono).

Ecco il testo di riferimento:

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewarethejabberwockmysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestoodthejabberwockwitheyesofflamecamewhifflingthroughthetulgeywoodandburbledasitcameonetwoonetwoandthroughandthroughthevorpalbladewentsnickersnackheleftitdeadandwithitsheadhewentgalumphingbackandhastthouslainthejabberwockcometomyarmsmybeamishboyofrabjousdaycalloohcallayhechortledinhisjoytwasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabe

Ecco un programma che puoi usare per testare questa proprietà.

Se si esaurisce la poesia da utilizzare, non è possibile utilizzare caratteri alfabetici aggiuntivi.

I caratteri alfabetici sono personaggi a- ze A- Zecco l'elenco completo:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

punteggio

Il tuo programma verrà assegnato un punteggio nel numero di byte non alfabetici utilizzati con un numero minore di migliori.

Ecco un programma Haskell che segna le risposte. (Ciò presuppone che gli input siano validi)

Programma di esempio

Il seguente programma sarebbe valido:

twas&*brilliga77812nd Thesli thyt Oves didgy reand Gim bleinth ewab eal lmims ywe""""""""
ret h eb or o g o ve sa n dthemomerAthsoutgrabebewaretheJABBERWOCKmysonthe)(*)()((*98980908(()*(jawsthatbit

Quando ridotto a caratteri alfabetici è:

twasbrilligandTheslithytOvesdidgyreandGimbleinthewabeallmimsyweretheb orogovesandthemomerAthsoutgrabebewaretheJABBERWOCKmysonthejawsthatbit

Che corrisponde al primo bit della poesia (senza distinzione tra maiuscole e minuscole).

Questo programma segnerebbe 59 perché contiene questi caratteri non alfabetici:

&*77812           """"""""
          )(*)()((*98980908(()*(

6
Cosa intendi con "Inizia la poesia"?
Pavel

7
Questo è banale da fare in lingue senza lettere.
NoOneIsHere

5
Il pedante in me si sente obbligato a ricordarti che il nome della poesia è Jabberwocky(senza articolo), mentre il nome della bestia è the Jabberwock(senza -y ). Ovviamente non è possibile modificare l'output richiesto ora, ma ...
DLosc

6
Perché così tanti voti da chiudere come poco chiari? Il "Ecco un programma che puoi usare per testare questa proprietà." parte determina in modo completo e inequivocabile i criteri validi.
user202729

3
@JonathanAllan La loro incapacità di comprendere la domanda non significa necessariamente che la domanda non sia chiara ...
user202729

Risposte:


42

oOo CODICE , punteggio 0

Grazie a Dennis per aver giocato a golf il codice Brainfuck.

TwASbRIlLIgAnDthEsliTHyTOvEsdiDgyreaNdgImbleinthEwaBeaLlmimSywEreThEBoroGoveSAndTheMOmERaTHSoutGRabEbeWArEthEjaBbeRWockMYsONtHEJawsTHaTBiTEThecLawSthATcaTChBeWAReTHeJuBJuBBiRDAndsHUNtHeFRuMIoUSbANdERSnatchheTooKHisvORpaLswORdinhAndLonGtiMetHEmanXomEFoEHeSOUg

Provalo online!

Ho una brutta notizia per questa sfida ... :(

oOo CODE è solo una codifica binaria di brainfuck che utilizza il caso di una lettera per ogni bit. Quindi sì, dal momento che la poesia è abbastanza lunga (o l'output abbastanza breve) da coprire un programma Brainfuck che stampa The Jabberwocky(senza realmente sforzarsi di giocarci a golf), questa diventa una banale risposta ottimale.



@JoKing Provalo online! (generato con BF-Crunch )
Dennis

"cattive notizie" ... sì, è brutto. Ho previsto che Unary otterrà 0 byte , la regola è cambiata e ci sono ancora punteggi 0 invii.
user202729

5
Non penso affatto che sia una cattiva notizia. Ciò ha implicazioni zero su quanto sia divertente giocare a golf in altre lingue.
Lynn

22

C, punteggio  104   79  74

Grazie a @gastropner per aver abbassato il punteggio a 79 e grazie a @ wizzwizz4 per averlo ridotto ulteriormente a 74!

*t,w;a(s,b,rilligand){*(t//he
=s++)="lithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewareThe Jabberwock\0mysonthejawsthat"[b++]?//i
:121;*t>12e1?*++t//hecl
=0:a//wsthatcatchbewarethejubjubbirdandshunthefrumiou
(s,b);}an;der(s,n){a(//tchhetookhi
s,88);}

Provalo online!



2
Non ci //abcdefgh\nsarebbero 1 personaggi in meno di /*abcdefgh*/?
wizzwizz4,

@ wizzwizz4 Sì, lo sarebbe. Grazie!
Steadybox

20

Fissione 2 , punteggio 3

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewaRe"The Jabberwock"mysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestoodthejabberwockwitheyesofflamecamewhifflingthroughthetulgeywoodandburbledasitcameonetwoonetwoandthroughandthroughthevorpalbladewentsnickersnackheleftitdeadandwithitsheadhewentgalumphingbackandhastthouslainthejabberwockcometomyarmsmybeamishboyO

Provalo online!

Spiegazione

Possiamo ignorare la maggior parte delle lettere minuscole, hanno semplicemente impostato l'energia di un atomo sul loro punto di codice.

...Re"The Jabberwock"my...oyO

La maiuscola Rè il punto di ingresso del programma, poiché crea un atomo che va a destra. Come ho detto, possiamo ignorare il e. Quindi "attiva / disattiva la modalità stringa, che stampa tutti i caratteri che incontra su STDOUT, il che ci dà The Jabberwock. Questo lascia solo il y. Potremmo usare quello yche sta arrivando immediatamente y, ma poi dovremmo sprecare almeno un byte non lettera per stamparlo ( !) e probabilmente un altro per terminare il programma.

Invece, aspettiamo pazientemente ydi presentarci immediatamente prima onella poesia. Perché questo ci permette di usare ciò Oche stampa il personaggio e distrugge l'atomo, terminando il programma. In questo modo, gli unici caratteri non di lettere di cui abbiamo bisogno sono lo spazio e le due virgolette.


Molto molto impressionante.
Weijun Zhou

14

Alice , punteggio 7

"T/was"bri@lligandtheslithytovesdidgyreandgimbleinthewabeallmimsywe
rethe borogovesandthemomerathsoutgrabebewarethejabberwockmysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestoodthejabberwockwitheyesofflamecamewhifflingthroughthetulgeywoodandburbledasitcameonetwoonetwoandthroughandthroughthevorpalbl
adewentsn

Provalo online!

L' /IP si sposta in diagonale e rimbalza dai bordi, quindi le istruzioni effettivamente eseguite sono "The "ono@. Il ncomando (in modalità ordinale) invia la stringa "Jabberwocky" se la parte superiore dello stack è vuota e ogenera la parte superiore dello stack.


1
Risposta molto bella!
Jonathan Allan,

3
Strumento giusto per il lavoro.
Robert Fraser

Bello, ho provato diverse cose, ma non ho trovato alcun layout che abbia segnato quasi così.
Martin Ender,

13

Jelly , segna  6  4

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathSOUTGRABEBEWARE“The Jabberwock”m”y

Un programma completo che stampa il risultato
(come collegamento monadico stampa The Jabberwockcome effetto collaterale e restituisce il personaggio y)

Inserisce i caratteri “ ””in un prefisso della poesia modificato in maiuscole.

Questo funziona perché:

  1. L'ultimo hprima SOUTGRABEBEWARE“The Jabberwock”m”yè (almeno al momento della stesura!) Un atomo indefinito, il che rende tutto ciò un nuovo collegamento che accetta l'input predefinito 0ed esegue alcune funzioni monadiche SOUTGRABEBEWARE, che producono 1(vedi sotto).

  2. 1“The Jabberwock”mquindi esegue m, modulo slicing, on "The Jabberwock"con una dimensione di slice di 1, cedendo "The Jabberwock".

  3. Il trailing ”yè una nuova catena di costanti principali, quindi Jelly stampa quell'elenco di caratteri e quindi cede il personaggio y, e poiché ora è la fine del programma, questo viene stampato.

 implicit input = 0
S sum             0
O cast to ordinal 0
U upend           [0]
T truthy indices  []
G group           []
R range           []
A absolute value  []
B to-binary       []
E all-equal?      1
B to-binary       [1]
E all-equal?      1
W wrap            [1]
A absolute value  [1]
R range           [[1]]
E all-equal?      1

6 byte precedenti:

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware
“The Jabberwock”m1“y

Provalo online!

I sei personaggi non poemici sono un plus newline “ ”1“.


6s alternativi:

“T“wasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewaret“he Jabberwock”m2“y

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewaret
“The Jabberwockmy”ṪṭṖ

Il primo programma non è valido senza m1“y? The Jabberwock
Stampa

1
No, il m1“y(o potrebbe essere m1”y) è necessario perché dobbiamo stampare The Jabberwocky, non è The Jabberwock.
Jonathan Allan,

7

Carbone , punteggio 3

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware⎚The Jabberwock⌈my

Provalo online!

Inseriti i tre caratteri: ⎚ ⌈

... funziona anche con l'intera poesia .

Come?

twas ... ware⎚The Jabberwock⌈my - no input
twas ... ware                    - print this text     >  twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware
             ⎚                  - clear the screen    >
               The Jabberwock    - print this text     > The Jabberwock
                             ⌈   - (print) maximum of:
                              my -   this text         > The Jabberwocky

5

Ruby ( -p), punteggio 12

$_=#twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware
'The Jabberwock'+#m
?y

Provalo online!

Abusa di tutti i commenti!

Con la -pbandiera, ruby ​​stamperà tutto ciò che è archiviato $_. Richiede una sola riga di qualsiasi input.


Non credo che tu possa usare -pqui, a causa della linea di input richiesta. "Il tuo compito è quello di produrre la stringa esatta The Jabberwockysenza prendere input."
benj2240,

@ benj2240 -pè un flag della riga di comando, non un input.
Mr. Xcoder


@Pavel, grazie
benj2240

5

Carbone , punteggio: 5 4

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware⎚The Jabberwock¿m¦y

Provalo online! Modifica: 1 byte salvato grazie solo a @ ASCII. Spiegazione: Traduce al seguente codice dettagliato:

Print("twas...beware");
Clear();
Print("The Jabberwock");
if ("m") Print("y");


@JonathanAllan Fixed!
Neil

4

Foo , punteggio 5

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware"The Jabberwock"m"y"

Provalo online!


4

> <> , Punteggio: 13 12

\twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware
\"The Jabberwockmy"$~\sonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestoodthejabberwockwitheyeso
fflamecamewhifflingth>ro<

Provalo online!

Verifica e punteggio .

Reindirizza immediatamente alla seconda riga, che spinge "The Jabberwockmy" al contrario nella pila. $~apre l'eccesso me >ro<stampa l'intero stack, invertendolo in anticipo.


3

Retina 0.8.2 , punteggio: 21 20 18 16 13 8 6

|twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware
The Jabberwock0$*my

Provalo online! Modifica: punteggio ridotto di 2 grazie a @MartinEnder.


Puoi segnare 6 in questo modo: tio.run/… e poi 5 passando a Retina 1.0 (e usando *invece di $*).
Martin Ender


2

YABASIC , 13

Grazie per la risposta Ruby di @ Pavel!

#twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware
?"The Jabberwock";//m
?"y"

Provalo online!


Conto un punteggio di 20, penso che tu abbia dimenticato di contare le nuove righe.
Pavel

Sì, ci sono problemi anche con decine di altre risposte.
Weijun Zhou

Solo una nota: Yabasic è disponibile per l'uso su Try It Online, dovresti considerare di aggiungere un link alla tua soluzione su TIO come questa
Taylor Scott

@TaylorScott Come posso non accorgermene! Fisso.
Weijun Zhou

Penso che tu abbia un "the" in più alla fine della prima riga.
12

2

VBA, punteggio 5

Esegui nella finestra immediata:

?twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware"The Jabberwock"m"y

Come funziona:

? - Questo stampa l'output come una stringa

-

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware - senza dichiarazione esplicita, viene trattata come una stringa vuota

-

"The Jabberwock"- String. Quando metti 2 variabili / stringhe una accanto all'altra, VBA le concatenerà automaticamente. (2 stringhe non variabili richiederebbero uno spazio per non aggiungere una doppia virgoletta)

-

m - Un'altra stringa vuota implicita, automaticamente concatenata

-

"y- Un'altra stringa. Lasciata aperta, la Finestra Immediata la chiuderà automaticamente quando raggiunge la fine della linea - di nuovo, automaticamente concatenata

-

1 punto interrogativo, 1 spazio e 3 virgolette doppie. VBA lo vede come ?"" & "The Jabberwock" & "" & "y"o?"The Jabberwocky"


2

Haskell , punteggio 12

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware="The Jabberwock"++{-m-}"y"

Provalo online!

Definisce una funzione con argomento zero il twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware :: Stringcui output è "The Jabberwocky".


2

Java (OpenJDK 9) , punteggio 11

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware->"The Jabberwock"+//m
"y"

Provalo online!

Crediti


1
-2 punteggio cambiando ()in t( Voidparametro null inutilizzato ) e rimuovendo il lead tdal commento.
Kevin Cruijssen,

2
@KevinCruijssen Grazie per gli approfondimenti. :-) Tuttavia, per quanto riguarda il <s>16</s> 14preferisco, come sempre su qualsiasi rete StackExchange per fornire una risposta finale. Le modifiche stesse sono elencate nella pagina di revisione , rendendo facile per tutti vedere le modifiche effettive e come la risposta si è evoluta nel tempo, piuttosto che mettere tutte le informazioni passate e attuali in un unico grande messaggio illeggibile.
Olivier Grégoire

Ah ok, bene da parte mia. :) La modifica aveva principalmente lo scopo di correggere i "byte" in "punteggio".
Kevin Cruijssen,

1
@KevinCruijssen In effetti, ho visto il tuo cambiamento nei titoli di coda e sono stati i benvenuti. Nel mio commento precedente, intendevo solo il titolo. Ho persino creato un meta-post su quell'argomento. ;-)
Olivier Grégoire

1
Ora che hai rimosso il commento sulla prima riga non hai più bisogno dell'interruzione di riga.
Wheat Wizard

2

PowerShell , punteggio: 19 10

#twasbrilligandTheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewarethe
'The Jabberwock'+#m
'y'

Provalo online!

La risposta Ruby del porto di Pavel . Grazie a Jo King per -9 punti.

Le stringhe sono +concatenate insieme. Una volta rimossi i commenti e analizzato il codice, PowerShell lo vede come 'The Jabberwock'+'y'. Quella stringa viene lasciata sulla pipeline e l'output è implicito.


Stavo per pubblicare questa risposta esatta: P
Pavel

Non puoi combinare Thee Jabberwockin una stringa? Provalo online!
Jo King

@JoKing In effetti, grazie. Divertente come stai andando avanti senza il carattere di continuazione della linea. Mi chiedo quando sia cambiata quella regola di analisi ...
AdmBorkBork,

1

Jelly , punteggio: 8

“ĠȥṘ®ṖȤ»

Provalo online!

Comprime solo la stringa ed è una stringa vuota quando vengono rimossi tutti i caratteri non alfabetici. Stranamente, la forma compressa più corta, “81Iȯd»ha caratteri alfabetici, nessuno dei quali sono tow



1

05AB1E , punteggio 14

"twasbrilligand""The ""slithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewarethe"Š"Jabberwock"+"my"Š

Provalo online!


1

Tela , punteggio 5

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware∙The Jabberwockpm∙yp

Provalo qui!


1

SOGL V0.12 , punteggio 9

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware”The” Jabberwock”:⁄m+ y+

Provalo qui!


1

Pip , segna 5

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewarethejabberwockmysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestOOD|"The Jabberwock"witheyesofflamecamewhifflingthroughthetulge'y

Provalo online!

Fortunatamente, le lettere minuscole in Pip sono tutte variabili, che sono no-op in espressioni da sole. La parte interessante del codice:

OOD|"The Jabberwock"

Lo scanner si rompe OODcome Oseguito da OD. ODè una variabile indefinita, che viene valutata come nulla (falsey); abbiamo quindi logico o questo con "The Jabberwock"e lo Oemette senza una nuova riga.

'y

Stringa a carattere singolo y. Poiché è l'ultima espressione nel programma, viene stampata.


1

SmileBASIC, punteggio 10

@twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware?"The Jabberwock";
@m?"y

Questo è stato praticamente preso direttamente dalla risposta yabasica e poiché SB è un linguaggio migliore, possiamo accorciarlo usando le etichette anziché i commenti, il che elimina la necessità di alcune interruzioni di riga

Esiste anche questa soluzione alternativa, per le stesse dimensioni:

@twasbrillig ... ?"The Jabberwock"+@my[2]

Un'etichetta all'interno di un'espressione viene trattata come una stringa. ( @my == "@my"), quindi prendere il carattere 2 dà "y".


1

C (gcc) , punteggio 58

Il fatto utile che // commenti di stile + nuove righe sono più economici di quelli di vecchio stile deriva direttamente dal commento di @ wizzwizz4 per la risposta di @ Steadybox .

È richiesto il flag -m32.

Alcuni potrebbero essere portati a uno stato d'animo frivolo dal lungo nome della funzione da chiamare, mentre altri potrebbero giustamente trovare tali obiezioni meschine; alla fine, dobbiamo tutti ascoltare la canzone della sirena dei punteggi bassi.

twasbrilligan;d(t,h,e,slithytovesdidgyreandgimble)int*h,*e;//wabeallmimsywere
{t--?*h++=*e++,//borogovesan
d(t,h,e):0;}momerathsoutgrabebewar;*e="The Jabberwock\171";mysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoug(h,tsoreste){d(4,h,e);}

Provalo online!


1

Lotto, punteggio 15 11

:twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewarethejabberwockmysonthejawsthatbiteth
@ec%lawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffisht%ho%ughthestood% The Jabberwock%withe%y

Fondamentalmente solo echo The Jabberwockycon variabili ed etichette inutilizzate.

Vecchia versione (punteggio 24):

:twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewarethejabberwockmysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestoodthejabberwockwitheyesofflamecamewh
@if %1%fl%i==%ngthroughthetulgeywoodandburbledasitcameonetwoonetwoandthroughandthroughthevorpalbladewentsnickersnackheleftitdeadandwithitsheadhewentgalumphingbackandhastthousla%i n The Jabberwock%cometom%y
:armsmybeamishboyofrabjousdaycalloohcallayh
@echo %*

Richiede che il codice sia salvato in un file chiamato n.bated eseguito dalla stessa directory.

Versione alternativa che può avere qualsiasi nome (punteggio 27):

:twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewarethejabberwockmysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestoodthejabberwockwitheyesofflamecamewh
@if %1%fl%i==%ngthroughthetulgeywoodandburbledasitcameonetwoonetwoandthroughandthroughthevorpalbladewentsnickersnackheleftitdeadandwithitsheadhewentgalumphingbackandhastthousla%i %~n0 The Jabberwock%cometom%y
:armsmybeamishboyofrabjousdaycalloohcallayh
@echo %*

Spiegazione (con le variabili rimosse):

:twas...                         Label (No labels were used, no goto in the poem)
@if %1i==i %~n0 The Jabberwocky  If no command line arguments, run this batch file again
:arms...                          with the arguments 'The Jabberwocky'
@echo %*                         Echo all arguments

1

Perl 5, subroutine, punteggio 11

{twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware;'The Jabberwock'.~'X'}

ma con il carattere \ x86 (v134 ) anziché la X.

(perlsub dice "La firma fa parte del corpo di una subroutine. Normalmente il corpo di una subroutine è semplicemente un blocco di codice rinforzato.")


Questo stampa il y?
Jo King

@JoKing oops! Adesso lo fa; Grazie.
msh210

1

Ruby , 9 byte senza lettere

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewarethejabberwockmysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvor=p alswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestood="The Jabberwock"+withe=?y

Provalo online!

Versione golfizzata (per leggibilità):

x=p z="The Jabberwock"+w=?y

Utilizza alcune variabili lunghe e inutili. In ruby, puoi mettere whatever_you_want=prima un'espressione e restituirà comunque quell'espressione, solo con l'effetto collaterale di creare una variabile con un nome strano.


1

Brainfuck automodificante , punteggio 16

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware␀The Jabberwock␀my<[<<]>[.>]>>.

Provalo online!

Spiegazione

Inizialmente il nastro è impostato in questo modo:

  T h e  J a b b e r w o c k  m y < [ < < ] > [ . > ] > > .   

Since we want to move to the beginning of the string we use <[<<] such that we jump over the first character.

Now we can just move to the T with > and print the whole string with [.>] and since we picked the substring where the next y is not far, we can just jump to it directely and print it with >>..


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.