Hast du den Jabberwock getötet?

37

Ihre Aufgabe ist es, die genaue Zeichenfolge auszugeben

The Jabberwocky

ohne Eingabe. Es gelten die normalen Regeln für die Eingabe und Ausgabe, sodass sowohl Funktionen als auch Programme zulässig sind.

Natürlich gibt es einen Haken, ohne einen Haken wäre es kein Spaß. Wenn in Ihrem Programm nicht-alphabetische Zeichen entfernt werden, muss das Gedicht The Jabberwocky (ohne Berücksichtigung der Groß- / Kleinschreibung) gestartet werden . Um das Gedicht zu beginnen, muss es eine fortlaufende Teilfolge des Gedichts sein, die am Anfang beginnt. Die leere Zeichenfolge ist in Ordnung (obwohl Sie wahrscheinlich nicht sehr gut punkten werden).

Hier ist der Text als Referenz:

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewarethejabberwockmysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestoodthejabberwockwitheyesofflamecamewhifflingthroughthetulgeywoodandburbledasitcameonetwoonetwoandthroughandthroughthevorpalbladewentsnickersnackheleftitdeadandwithitsheadhewentgalumphingbackandhastthouslainthejabberwockcometomyarmsmybeamishboyofrabjousdaycalloohcallayhechortledinhisjoytwasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabe

Hier ist ein Programm, mit dem Sie diese Eigenschaft testen können.

Wenn Sie kein Gedicht mehr verwenden können, dürfen Sie keine zusätzlichen alphabetischen Zeichen verwenden.

Alphabetische Zeichen sind Zeichen a- zund A- Zhier ist die vollständige Liste:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

Wertung

Ihr Programm wird nach der Anzahl der verwendeten nicht-alphabetischen Bytes bewertet, wobei weniger besser ist.

Hier ist ein Haskell-Programm, das Antworten liefert. (Dies setzt voraus, dass Eingaben gültig sind)

Beispielprogramm

Das folgende Programm wäre gültig:

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

Wenn auf alphabetische Zeichen reduziert, ist dies:

twasbrilligandTheslithytOvesdidgyreandGimbleinthewabeallmimsyweretheb orogovesandthemomerAthsoutgrabebewaretheJABBERWOCKmysonthejawsthatbit

Das passt zum ersten Teil des Gedichts (Groß- und Kleinschreibung wird nicht berücksichtigt).

Dieses Programm würde 59 Punkte erzielen, da es die folgenden nicht-alphabetischen Zeichen enthält:

&*77812           """"""""
          )(*)()((*98980908(()*(
Weizen-Assistent
quelle
6
Was meinst du mit "Start the poem"?
Pavel
7
Dies ist in Sprachen ohne Buchstaben trivial.
NoOneIsHere
5
Der Pedant in mir fühlt sich verpflichtet, Sie daran zu erinnern, dass der Name des Gedichts Jabberwocky(ohne Artikel) ist, während der Name des Tieres the Jabberwock(ohne -y ) ist. Natürlich können Sie die erforderliche Ausgabe jetzt nicht ändern, aber ...
DLosc
6
Warum so viele Stimmen als unklar abschließen? "Hier ist ein Programm, mit dem Sie diese Eigenschaft testen können." Teil bestimmt vollständig und eindeutig die gültigen Kriterien.
user202729
3
@ JonathanAllan Ihre Unfähigkeit, die Frage zu verstehen, bedeutet nicht unbedingt, dass die Frage unklar ist ...
user202729

Antworten:

42

oOo CODE , Punktzahl 0

Vielen Dank an Dennis für den Brainfuck-Code.

TwASbRIlLIgAnDthEsliTHyTOvEsdiDgyreaNdgImbleinthEwaBeaLlmimSywEreThEBoroGoveSAndTheMOmERaTHSoutGRabEbeWArEthEjaBbeRWockMYsONtHEJawsTHaTBiTEThecLawSthATcaTChBeWAReTHeJuBJuBBiRDAndsHUNtHeFRuMIoUSbANdERSnatchheTooKHisvORpaLswORdinhAndLonGtiMetHEmanXomEFoEHeSOUg

Probieren Sie es online!

Ich habe schlechte Nachrichten für diese Herausforderung ... :(

oOo CODE ist nur eine binäre Kodierung von Brainfuck, bei der für jedes Bit der Fall eines Buchstabens verwendet wird. Also ja, da das Gedicht lang genug (oder die Ausgabe kurz genug) ist, um ein Brainfuck-Programm abzudecken, das gedruckt wird The Jabberwocky(ohne sich wirklich anstrengen zu müssen), wird dies zu einer trivialen optimalen Antwort.

Martin Ender
quelle
3
Golf gespielt.
Dennis
@JoKing Online ausprobieren ! (generiert mit BF-Crunch )
Dennis
"schlechte Nachrichten" ... ja, das ist schlecht. Ich habe vorausgesagt, dass Unary 0 Bytes bekommt , die Regel wurde geändert und es gibt immer noch 0 Einsendungen.
User202729
5
Ich glaube nicht, dass es schlechte Nachrichten sind. Dies hat keine Auswirkungen darauf, wie viel Spaß es macht, in anderen Sprachen Golf zu spielen.
Lynn
22

C, Punktzahl  104   79  74

Vielen Dank an @gastropner für die Senkung der Punktzahl auf 79 und an @ wizzwizz4 für die weitere Senkung auf 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);}

Probieren Sie es online!

Steadybox
quelle
Ergebnis 79
Gastropner
2
Wäre nicht //abcdefgh\n1 weniger Zeichen als /*abcdefgh*/?
wizzwizz4
@ wizzwizz4 Ja, das würde es. Vielen Dank!
Steadybox
20

Fission 2 , Score 3

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewaRe"The Jabberwock"mysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestoodthejabberwockwitheyesofflamecamewhifflingthroughthetulgeywoodandburbledasitcameonetwoonetwoandthroughandthroughthevorpalbladewentsnickersnackheleftitdeadandwithitsheadhewentgalumphingbackandhastthouslainthejabberwockcometomyarmsmybeamishboyO

Probieren Sie es online!

Erläuterung

Wir können die meisten Kleinbuchstaben ignorieren, sie setzen einfach die Energie eines Atoms auf ihren Codepunkt.

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

Der Großbuchstabe Rist der Einstiegspunkt des Programms, da hierdurch ein Atom erstellt wird, das richtig funktioniert. Wie gesagt, wir können das ignorieren e. Dann "schaltet String - Modus, der nur alle Zeichen druckt er auf STDOUT begegnet, die uns gibt The Jabberwock. Das lässt nur die y. Wir könnten das verwenden y, das sofort in kommt y, aber dann müssten wir mindestens ein Nicht-Buchstaben-Byte für das Drucken ( !) und möglicherweise ein anderes für das Beenden des Programms verschwenden .

Stattdessen warten wir geduldig darauf, dass wir ygleich vorher oim Gedicht auftauchen . Denn damit können wir verwenden, Owas das Zeichen druckt und das Atom zerstört und das Programm beendet. Auf diese Weise benötigen wir nur Leerzeichen und zwei Anführungszeichen, die keine Buchstaben sind.

Martin Ender
quelle
Sehr sehr beeindruckend.
Weijun Zhou
14

Alice , Punktzahl 7

"T/was"bri@lligandtheslithytovesdidgyreandgimbleinthewabeallmimsywe
rethe borogovesandthemomerathsoutgrabebewarethejabberwockmysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestoodthejabberwockwitheyesofflamecamewhifflingthroughthetulgeywoodandburbledasitcameonetwoonetwoandthroughandthroughthevorpalbl
adewentsn

Probieren Sie es online!

Das /bewirkt, dass sich die IP diagonal bewegt und von den Rändern abprallt, sodass die tatsächlich ausgeführten Befehle ausgeführt werden "The "ono@. Der nBefehl (im Ordnungsmodus) drückt die Zeichenfolge "Jabberwocky", wenn die Oberseite des Stapels leer ist, und ogibt die Oberseite des Stapels aus.

Nitrodon
quelle
1
Sehr nette Antwort!
Jonathan Allan
3
Richtiges Werkzeug für den Job.
Robert Fraser
Nizza, ich habe einige Dinge ausprobiert, aber kein Layout gefunden, das annähernd so gut abgeschnitten hätte.
Martin Ender
13

Gelee , Punktzahl  6  4

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathSOUTGRABEBEWARE“The Jabberwock”m”y

Ein vollständiges Programm, das das Ergebnis
druckt (als monadischer Link druckt es The Jabberwockals Nebeneffekt und gibt das Zeichen zurück y)

Fügt die Zeichen “ ””in ein in Groß- und Kleinschreibung geändertes Präfix des Gedichts ein.

Das funktioniert, weil:

  1. Das letzte hvorher SOUTGRABEBEWARE“The Jabberwock”m”yist (zumindest zum Zeitpunkt des Schreibens!) Ein undefiniertes Atom, das alles zu einer neuen Verknüpfung macht, die die Standardeingabe von 0und einige monadische Funktionen ausführt SOUTGRABEBEWARE, die ergeben 1(siehe unten).

  2. 1“The Jabberwock”mführt dann m, modulo Slicing, auf "The Jabberwock"mit einer Scheibe Größe 1, wodurch man "The Jabberwock".

  3. Das Trailing ”yist eine neue führende Konstante, daher gibt Jelly diese Liste von Zeichen aus und gibt dann das Zeichen aus y. Da dies nun das Ende des Programms ist, wird dieses dann gedruckt.

 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

Vorherige 6 Byter:

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware
“The Jabberwock”m1“y

Probieren Sie es online!

Die sechs Nicht-Gedicht-Charaktere sind ein Zeilenvorschub “ ”1“.


Alternative 6s:

“T“wasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewaret“he Jabberwock”m2“y

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewaret
“The Jabberwockmy”ṪṭṖ
Jonathan Allan
quelle
Ist das erste Programm ohne nicht gültig m1“y? Es wird immer noch gedruckt The Jabberwockund beginnt mit einer Teilmenge des Gedichts
dylnan
1
Nein, das m1“y(oder es könnte sein m1”y) wird benötigt, weil wir drucken müssen The Jabberwocky, nicht The Jabberwock.
Jonathan Allan
7

Holzkohle , Punktzahl 3

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware⎚The Jabberwock⌈my

Probieren Sie es online!

Die drei Zeichen eingefügt: ⎚ ⌈

... es funktioniert auch mit dem ganzen Gedicht .

Wie?

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
Jonathan Allan
quelle
5

Ruby ( -p), Punktzahl 12

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

Probieren Sie es online!

Missbrauche alle Kommentare!

Mit der -pFlagge druckt Ruby alles, was in gespeichert ist $_. Benötigt eine einzelne Zeile einer Eingabe.

Pavel
quelle
Ich denke nicht, dass Sie -phier verwenden können, weil die Eingabezeile erforderlich ist. Msgstr "Ihre Aufgabe ist es, die genaue Zeichenfolge auszugeben, The Jabberwockyohne Eingaben zu machen."
benj2240
@ benj2240 -pist ein Befehlszeilen-Flag, keine Eingabe.
Mr. Xcoder
2
@ benj2240 Nicht verwendete leere Eingaben, für die keine Eingabe erforderlich ist, werden von Meta Concencus zugelassen . Dies nimmt eine leere Zeile.
Pavel
@Pavel Ich verstehe, danke
benj2240
5

Holzkohle , Kerbe: 5 4

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware⎚The Jabberwock¿m¦y

Probieren Sie es online! Bearbeiten: 1 Byte dank nur @ ASCII gespeichert. Erläuterung: Wird in den folgenden ausführlichen Code übersetzt:

Print("twas...beware");
Clear();
Print("The Jabberwock");
if ("m") Print("y");
Neil
quelle
@ JonathanAllan behoben!
Neil
4

Foo , 5 Punkte

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware"The Jabberwock"m"y"

Probieren Sie es online!

Steadybox
quelle
4

> <> , Spielstand: 13 12

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

Probieren Sie es online!

Überprüfung und Bewertung .

Leitet sofort zur zweiten Zeile um, die "The Jabberwockmy" rückwärts zum Stapel drückt. $~Knallt den Überschuss, druckt den gesamten Stapel mund kehrt >ro<ihn vorher um.

Scherzen
quelle
3

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

|twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware
The Jabberwock0$*my

Probieren Sie es online! Bearbeiten: Punktzahl um 2 dank @MartinEnder reduziert.

Neil
quelle
Sie können 6 wie folgt erzielen: tio.run/… und dann 5, indem Sie zu Retina 1.0 wechseln (und *anstelle von verwenden $*).
Martin Ender
3

C, Punktzahl 23

twasbrilligandtheslithytovesdidgyreandgimble(int**h){//ewabeallmimsyweretheborogovesandthemomerat
*h//soutgrabebeware
="The Jabberwock"//m
"y";}

Probieren Sie es online!

Thomas Padron-McCarthy
quelle
2

Yabasic , 13

Danke für die Antwort von @ Pavel's Ruby!

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

Probieren Sie es online!

Weijun Zhou
quelle
Ich zähle eine Punktzahl von 20, ich glaube, Sie haben vergessen, Zeilenumbrüche zu zählen.
Pavel
Ja, es gibt auch Probleme mit vielen anderen Antworten.
Weijun Zhou
Nur ein Hinweis: Yabasic Es ist für den Einsatz bei Versuchen zur Verfügung Online, sollten Sie überlegen , einen Link zu Ihrer Lösung bei TIO wie das Hinzufügen dieser ein
Taylor Scott
@TaylorScott Wie kann ich das übersehen! Fest.
Weijun Zhou
Ich denke, Sie haben ein zusätzliches "the" am Ende der ersten Zeile.
12. Mai,
2

VBA, Score 5

Im Direktfenster ausführen:

?twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware"The Jabberwock"m"y

Wie es funktioniert:

? - Dies druckt die Ausgabe als String aus

-

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware - Ohne explizite Deklaration wird dies als leere Zeichenfolge behandelt

-

"The Jabberwock"- Schnur. Wenn Sie zwei Variablen / Zeichenfolgen nebeneinander platzieren, werden sie von VBA automatisch verkettet. (2 nicht variable Zeichenfolgen benötigen ein Leerzeichen, um kein Anführungszeichen einzufügen.)

-

m - Ein weiterer impliziter Leerstring, der automatisch verkettet wird

-

"y- Noch eine Saite. Wenn das Direktfenster geöffnet bleibt, wird es automatisch geschlossen, wenn es das Ende der Zeile erreicht - wieder automatisch verkettet

-

1 Fragezeichen, 1 Leerzeichen und 3 Anführungszeichen. VBA sieht dies als ?"" & "The Jabberwock" & "" & "y"oder?"The Jabberwocky"

Chronozid
quelle
2

Haskell , Punktzahl 12

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

Probieren Sie es online!

Definiert eine Nullargumentfunktion, twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware :: Stringderen Ausgabe ist "The Jabberwocky".

Lynn
quelle
2

Java (OpenJDK 9) , Punktzahl 11

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

Probieren Sie es online!

Credits

Olivier Grégoire
quelle
1
-2 Punkte durch Ändern ()auf t(nicht verwendeter VoidNull-Parameter) und Entfernen des führenden Zeichens taus dem Kommentar.
Kevin Cruijssen
2
@ KevinCruijssen Vielen Dank für die Erkenntnisse. :-) Hinsichtlich des <s>16</s> 14ziehe ich es jedoch vor, wie immer in jedem StackExchange-Netzwerk eine endgültige Antwort zu geben. Die Änderungen selbst werden auf der Revisionsseite aufgelistet , sodass jeder die tatsächlichen Änderungen und die Entwicklung der Antwort im Laufe der Zeit sehen kann, anstatt alle früheren und aktuellen Informationen in einem großen, unlesbaren Beitrag zu speichern.
Olivier Grégoire
Ah ok, gut von mir. :) Die Bearbeitung war hauptsächlich dazu gedacht, 'Bytes' auf 'Score' zu korrigieren.
Kevin Cruijssen
1
@ KevinCruijssen In der Tat sah ich Ihre Änderung in den Credits und sie waren willkommen. In meinem vorherigen Kommentar habe ich nur den Titel gemeint. Ich habe sogar einen Meta-Post zu diesem Thema erstellt. ;-)
Olivier Grégoire
1
Nachdem Sie den Kommentar in der ersten Zeile entfernt haben, brauchen Sie den Zeilenumbruch nicht mehr.
Wheat Wizard
2

PowerShell , Punktzahl: 19 10

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

Probieren Sie es online!

Antwort von Port of Pavel's Ruby . Danke an Jo King für -9 Punkte.

Die Zeichenfolgen sind miteinander +verkettet. Nachdem die Kommentare entfernt und der Code analysiert wurden, sieht PowerShell dies als 'The Jabberwock'+'y'. Diese Zeichenfolge verbleibt in der Pipeline und die Ausgabe ist implizit.

AdmBorkBork
quelle
Ich wollte gerade genau diese Antwort posten: P
Pavel
Kannst du nicht Theund Jabberwockzu einer Saite kombinieren ? Probieren Sie es online!
Jo King
@JoKing In der Tat, danke. Komisch, wie du ohne das Zeilenfortsetzungszeichen zurechtkommst. Ich frage mich, wann sich diese
Analyseregel
1

Gelee , Punktzahl: 8

“ĠȥṘ®ṖȤ»

Probieren Sie es online!

Komprimiert nur die Zeichenfolge und ist eine leere Zeichenfolge, wenn alle nicht alphabetischen Zeichen entfernt werden. Ärgerlicherweise hat die kürzeste komprimierte Form “81Iȯd»alphabetische Zeichen, von denen keines toderw

Caird Coinheringaahing
quelle
1

05AB1E , Punktzahl 14

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

Probieren Sie es online!

Mr. Xcoder
quelle
1

Canvas , Punktzahl 5

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware∙The Jabberwockpm∙yp

Probieren Sie es hier aus!

dzaima
quelle
1

SOGL V0.12 , Punktzahl 9

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

Probieren Sie es hier aus!

dzaima
quelle
1

Pip , Punktzahl 5

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewarethejabberwockmysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestOOD|"The Jabberwock"witheyesofflamecamewhifflingthroughthetulge'y

Probieren Sie es online!

Glücklicherweise sind Kleinbuchstaben in Pip allesamt Variablen, die in Ausdrücken für sich genommen No-Ops sind. Der interessante Teil des Codes:

OOD|"The Jabberwock"

Der Scanner bricht OODwie Ofolgt ab OD. ODist eine undefinierte Variable, die als nil (falsey) ausgewertet wird; wir logisch-oder dies dann mit "The Jabberwock", und Ogibt es ohne eine neue Zeile aus.

'y

Einzelzeichenfolge y. Da es der letzte Ausdruck im Programm ist, wird er gedruckt.

DLosc
quelle
1

SmileBASIC, Punktzahl 10

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

Dies wurde so ziemlich direkt aus der Yabasic-Antwort übernommen, und da SB eine bessere Sprache ist, können wir es durch die Verwendung von Bezeichnungen anstelle von Kommentaren verkürzen, wodurch einige der Zeilenumbrüche überflüssig werden

Es gibt auch diese alternative Lösung für die gleiche Größe:

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

Eine Bezeichnung in einem Ausdruck wird als Zeichenfolge behandelt. ( @my == "@my"), wenn Sie also Zeichen 2 nehmen, erhalten Sie "y".

12Me21
quelle
1

C (gcc) , Score 58

Die nützliche Tatsache, dass Kommentare und Zeilenumbrüche im // Stil billiger sind als solche im alten Stil, ergibt sich direkt aus dem Kommentar von @ wizzwizz4 für die Antwort von @ Steadybox .

Das Flag -m32 ist erforderlich.

Einige könnten durch den langen Namen der aufzurufenden Funktion in eine unangenehme Stimmung versetzt werden, während andere solche Einwände zu Recht als nachahmend empfinden; Am Ende müssen wir alle das Sirenenlied mit den niedrigen Punktzahlen beachten.

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);}

Probieren Sie es online!

Gastropner
quelle
1

Partie, 15 Punkte 11

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

Grundsätzlich nur echo The Jabberwockymit nicht verwendeten Variablen und Bezeichnungen.

Alte Version (24 Punkte):

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

Erfordert, dass der Code in einer Datei mit dem Namen gespeichert n.batund im selben Verzeichnis ausgeführt wird.

Alternative Version, die einen beliebigen Namen haben kann (Punktzahl 27):

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

Erklärung (mit entfernten Variablen):

: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
user2033427
quelle
1

Perl 5, Unterprogramm, Punktzahl 11

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

aber mit dem Zeichen \ x86 ( v134) anstelle des X.

(perlsub sagt: "Die Signatur ist Teil des Rumpfs einer Unterroutine. Normalerweise ist der Rumpf einer Unterroutine einfach ein geschweifter Codeblock.")

msh210
quelle
Druckt dies das y?
Jo King
@JoKing oops! Jetzt schon; Vielen Dank.
msh210
1

Ruby , 9 Bytes ohne Buchstaben

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

Probieren Sie es online!

Golf Version (zur besseren Lesbarkeit):

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

Verwendet einige lange und nutzlose Variablen. In Ruby können Sie whatever_you_want=einen Ausdruck voranstellen, und dieser Ausdruck wird trotzdem zurückgegeben, nur mit dem Nebeneffekt, dass eine Variable mit einem ungewöhnlichen Namen erstellt wird.

MegaTom
quelle
1

Selbstmodifizierender Brainfuck , Punktzahl 16

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

Probieren Sie es online!

Erläuterung

Das Band ist anfangs so aufgebaut:

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

<[<<]

T>[.>]y>>.

ბიმო
quelle
0

Fission , Punktzahl 6

twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewaRe"The Jabberwock"m"y";

Probieren Sie es online!

Steadybox
quelle