Schreibe den längsten Satz mit Schlüsselwörtern einer Programmiersprache [closed]

36

Wie der Titel schon sagt, besteht die Herausforderung darin, den längsten Satz zu schreiben, indem nur die Schlüsselwörter einer Programmiersprache verwendet werden.

Unter Verwendung der Schlüsselwörter von C ++ ist es beispielsweise möglich, diesen Satz zu schreiben:

versuchen Sie nicht diesen Schwimmer

Was kannst du dir einfallen lassen?

Pubby
quelle
16
Shakespeare sollte dafür gut sein en.wikipedia.org/wiki/…
gnibbler
3
@elssar Ja, solange Sie sie nicht im Sinne von en.wikipedia.org/wiki/… missbrauchen .
Pubby
1
Sie brauchen nicht viele Wörter, um beliebig lange Sätze zu bilden. Mit den C ++ - Schlüsselwörtern können Sie beispielsweise "Try this and try this and ..." ausführen. Sie können einen beliebig langen Satz nur mit dem Wort "Büffel" bilden, und wie jemand auf dieser Seite sagt , können Sie dasselbe mit "Saibling" tun ("es ist nicht allzu schwer, Fische der Gattung Salvelinus zu sehen, die sich gegenseitig anbrennen Zugang zu ausreichend starken Flammenwerfern erhalten "). Vielleicht wäre es interessanter, wenn jedes Wort nur einmal verwendet werden könnte?
James
1
Ich habe dies getan, bevor diese Frage gestellt wurde. Ich war zu der Zeit ziemlich unreif, also warne ich dich vor der explicitSprache. chat.stackoverflow.com/transcript/7?m=4671602#4671602
Kendall Frey
6
Endlich eine Herausforderung, die die APL-Jungs nicht gewinnen können
kb_sou

Antworten:

34

Mathematica 100 80 einzigartige Wörter

Hier ist ein Anfang. Alle Standardwörter in Mathematica beginnen mit Großbuchstaben. dazu gehört Iauch die Quadratwurzel von negativ 1.

Am Sonntag und für immer - Angenommen, beim Öffnen klarer dynamischer interaktiver Notizbücher zum Festlegen von Konturen übersetze ich keine fehlenden blauen Arrays, die sich über temporäre, asynchrone und unsichtbare Zeichen erstrecken, und entferne auch keine undefinierten Pfeilspitzen mit bearbeitbarem und akustischem Orange Wurzeln, die flache Namen zusammen mit falschen Attributen vergrößern (da die meisten Achsen volle innere Kerne in umgekehrter Reihenfolge teilen) - und während ich undefinierte leise Häkchen animiere, beginne ich mit Toleranz und operiere auf allen manuellen Matrizen, verschachtele Kreis mit Zylinder, verpacktes Skelett mit Kompilierter Quader, rotes Kreuz mit dem nächstgelegenen Timing-Muster und wiederholte eindeutige weiße Links mit Köpfen ...


Bei Interesse werden hier mehr als 500 Wörter von Mathematica erkannt (keine zusätzlichen Bibliotheken erforderlich). Es sind nicht alle Schlüsselwörter, aber erfahrene Mathematica-Programmierer kennen und haben fast alle verwendet.


{Abbrechen, Über, Bauchmuskeln, Akkumulieren, Genauigkeit, Hinzufügen, Nach, Ausrichtung, Alle, Alternativen, Analytisch, Und, Animieren, Animator, Annotation, Annuität, Antialiasing, Antisymmetrisch, Auseinander, Aussehen, Anhängen, Anwenden, Array, Arrays, Pfeil , Pfeilspitzen, Assert, Angenommen, Annahmen, Asynchron, Attribute, Automatisch, Achsen, Achse, Zurück, Hintergrund, Backslash, Rückwärts, Band, Grundlinie, Weil, Signalton, Vor, Beginn, Unten, Binomial, Leer, Verschmelzen, Blockieren , Unschärfe, Lesezeichen, Boolesche, Unten, Grenzen, Im Karton, Pause, Schaltfläche ", Byte, Abbrechen, Kappe, Fälle, Cashflow, Fang, Decke, Zelle, Zellen, Zensur, Zentrum, Charakter, Zeichen, Überprüfen, Kontrollkästchen, Hacken, Kreis , Klar, Clip, Uhr, Schließen, Geschlossen, Schließen, Grob, Koeffizient, Sammeln, Doppelpunkt, Kolorieren, Spalte, Am häufigsten, Kompilieren, Zusammengestellt, Komplement, Komplex, Zusammenstellen, Komposition, Komprimieren, Bedingung,Kegel, Kongruent, Konjunktion, Verbinden, Konstante, Konstanten, Kontext, Kontexte, Fortfahren, Konturen, Kontrolle, Konvergente, Konvolut, Kopierbar, Korrelation, Kinderbett, Zählung, Kovarianz, Kreuz, Kumulativ, Pokal, Locken, Zyklen, Zylinder, Dunkler, Datum, Debuggen, Dekrementieren, Standard, Aufschieben, [Grad], Deinitialisieren, Löschbar, Begrenzer, Begrenzer, Nenner, Bereitstellen, Bereitgestellt, Tiefe, Ableitung, Diagonale, Dialog, Diamant, Unterschiede, Erweiterung, Dimensionen, Richtung, Anweisung, Disjunktion, Datenträger, Versand, Anzeige, Verteilen, Verteilt, Dithering, Teilen, Teiler, Teilbar, Teiler, Tun, Punkt, Unten, Tropfen, Dynamisch, Bearbeitbar, Eigenwerte, Element, Beseitigen, Leer, Aktiviert, Codieren, Ende, Eingeben, Epilog, Gleich, Gleichwertig, Bewerter, Außer, Existiert, Beenden, Erweitern, Erwartung, Exponent, Exportieren, Ausdruck, Extrahieren, Faktor, Faktoriell, Versagen, Falsch,Datei, Füllen, Finden, Zuerst, Passen, Flach, Abflachen, Boden, Falten, Schriftart, Für, Vorwärts, Rahmen, Vorne, Voll, Funktion, Sammeln, Allgemein, Generisch, Erhalten, Graph, Grafiken, Größer, Gitter, Hasch, Kopf, Köpfe, Histogramm, Halten, Farbton, Hyperlink, Silbentrennung, Ich, Identität, Wenn, Bild, Impliziert, In, Inkrement, Geerbt, Inner, Eingabe, Einfügen, Einfügen, Installieren, Ganzzahl, Ganzzahlen, Integral, Integrieren, Interaktiv, Interleaving, Intervall, Unsichtbar, Element, Verbinden, Verknüpft, Kernel, Etikett, Beschriftet, Groß, Größer, Letzter, Breite, Start, Links, Legend, Länge, Weniger, Ebene, Beleuchtung, Grenze, Linie, Links, Liste, Auflistbar, Zuhören, Wörtlich, Gesperrt, Protokoll, Längste, Länge, Vergrößerung, Vergrößern, Mehrheit, Manipulieren, Manuell, Karte, Maskieren, Material, Matrizen, Maximieren, Mittelwert, Mittel, Menü, Masche, Nachricht, Nachrichten, Methode, Minimieren, Minderjährige, Vermisst, Modal, Modus,Modul, Modul, Modul, Moment, Montag, Monitor, Meisten, Mouseover, Multinomial, Multiplizität, Multiselektion, Namen, Nächste, Bedürfnisse, Negativ, Nest, Nächste, Keine, Noch, Norm, Normal, Normalisieren, Nicht, Notizbuch, Notizbücher, Null, Zahl, Zähler, Aus, Versatz, Ein, Deckkraft, Öffnen, Öffnen, Bedienen, Optional, Optionen, Oder, Ordnung, Ordnung, Ordnungslos, Orthogonalisieren, Heraus, Äußerlich, Über, Überlauf, Paclet, Bereich, Feld, Getäfelt, Parallelisieren, Parameter, Parenthese, Partition, Einfügen, Pfad, Muster, Pause, Permutationen, Permutieren, Senkrecht, [Pi], Stückweise, Schwenken, Platzieren, Platzhalter, Einfach, Spielen, Zeichnen, Plus, Punkt, Polygon, Polynome, Position, Positiv, Macht, Präzedenz, Präzedenz, Präzision, Präfix, Voranstellen, Zurück, Drucken, Wahrscheinlichkeit, Projektion, Prolog, Eigenschaften, Eigenschaft, Proportion, Schützen, Geschützt, Beschneiden, Put, Pyramide,Quantil, Quantität, Quartale, Quartile, Anstehen, Leise, Beenden, Quotient, Radon, Zufällig, Bereich, Raster, Rastern, Rational, Rationals, Lesen, Real, Ernten, Aufzeichnen, Rechteck, Reduzieren, Verfeinern, Aktualisieren, Neu installieren, Freigeben, Entfernen, Entfernt, Wiederholt, Ersetzen, Neuabtasten, Neu skalieren, Rest, Auflösen, Ausruhen, Zurückkehren, Umkehren, Riffeln, Rechts, Wurzel, Wurzeln, Drehen, Rund, Reihe, Regel, Samstag, Speichern, Sichern, Skalieren, Skalieren, Scannen, Bildlaufleisten, Auswahl, Auswahl, Sequenz, Serie, Satz, Rückschläge, Setzer, Einstellung, Schattierung, Flach, Freigabe, Scharfzeichnen, Kurz, Zeigen, Seitenleiste, Zeichen, Unterschrift, Vereinfachen, Skelett, Überspringen, Steckplatz, Kleiner, Sockel, Lösen, Sound, Sau, Spacer, Abstände, Span, Sprechen, Kugel, Splice, Split, Platz, Stapel, Sterne, Streams, String, Stub, Subfactorial, Subgraph, Subscripted, Subset, Subtract, Summe, Superset, Surd, Syntax, Tabelle, Nehmen Sie, Tally,Temporär, Text, Textur, Daher, Thread, Schwelle, Durch, Ticks, Zeiten, Timing, Zusammen, Toggle, Toggler, Toleranz, Tooltip, Oben, Gesamt, Trace, Tracer, Übersetzen, Transponieren, Wahr, Tube, Tupel, Undefiniert, Unterstrichen, Underscript, Ungleich, Uninstall, Union, Unique, Unitize, Unset, Up, Variablen, Vertical, Wedge, Weights, Which, While, Whitespace, With, Word, Write}

DavidC
quelle
16
Ich glaube, Mathematica hat plötzlich zu viele Stichwörter.
Mr. Llama
Sie haben vielleicht einen Punkt. In Mathematica ist alles ein Ausdruck und alle Symbole wie das Zeitzeichen sind Namen, wenn sie vollständig ausgedrückt werden, d. H. lange Form, z Times. Ich habe 332 allgemeine englische Wörter in Mathematica gefunden. Dies schließt keine zusammengesetzten Wörter wie AppendTooder Namen von Funktionen ein, von denen es buchstäblich Tausende gibt (aber es handelt sich nicht wirklich um englische Wörter).
DavidC
332 war der Graf vor ein paar Stunden. Ich habe es überprüft und es gibt weit über 500 englische Wörter, die für die Verwendung in Mathematica-Programmen akzeptabel sind.
DavidC
1
@ Alter Viele Options- und Farbnamen sind nicht in Ihrer Liste ... Sie könnten weitere 300 addieren, denke ich :)
Dr. belisarius
1
Sind die meisten dieser Bezeichner nicht Keywords?
Geoff Reedy
46

C ++, 25 eindeutige Wörter, 28 insgesamt

Wahrer Freund, melden Sie sich für diese neue kurze öffentliche Klasse für private Auto-Betreiber an (während Sie inline sind, geben Sie diese signierte Vorlage zurück), andernfalls brechen Sie diese lange flüchtige Verbindung ab und machen Sie sie ungültig.

Sir_Lagsalot
quelle
2
Sie können andanstelle von verwenden &. :)
rechts
@rightfold Ich habe darüber nachgedacht, aber ich hatte das Gefühl, dass es zu einfach wäre, alternative Bezeichner zu zählen, und nicht alle Tools erkennen sie als Schlüsselwörter.
Sir_Lagsalot
19

Während das Bilden von Sätzen nicht wirklich meine Stärke ist, geht hier nichts -

Python 20 Wörter

Fahren Sie schließlich mit dem Import fort und erhöhen Sie den globalen Ertrag, während die Klasse Lambda in der Pause ist, und versuchen Sie, den Exec Pass zu drucken.

Um die Überprüfung zu erleichtern, habe ich einen Code geschrieben, um zu überprüfen, ob die Wörter in der Keyword-Liste enthalten sind oder nicht.

from keyword import kwlist
from re import findall

def kwcheck(sentence):
    """Check whether all the words of a sentence are Python keywords"""
    words= findall(r'\w+', sentence)
    for word in words:
        if word.lower() not in kwlist:
            return False
    return True, len(words)

if __name__ == '__main__':
    sen= raw_input("Enter your sentence: ")
    print kwcheck(sen)
Elssar
quelle
14

Die Wichtigkeit der Bildung

- von A. Coder Guy (geschrieben in Python)

Continue class, except if class is not for you.  
With no class, raise and assert!  Or yield, pass,
and break.  Try and continue!  Or - finally - return from class.
Räuber
quelle
4
Seit wann gibt es youein Python-Schlüsselwort?
Kojiro
ha, guter Fang. Ich bin mir nicht sicher, wie ich es ändern kann. Aber zögern Sie nicht :-)
Brigand
Geht das selfvielleicht nicht? Es ist keine ganz normale Verwendung, aber ich denke, es wäre verständlich.
Morgan Thrapp
11

Common Lisp

:In :Common :Lisp :a :keyword :is :simply :a :symbol :which :has :the :KEYWORD :home :package :which :is :true :of :all :symbols :starting :with :a :colon :so :you :can :construct :arbitrarily :long :sentences. :Do :I :win?

Dies zum Beispiel:

(every #'keywordp '(:In :Common :Lisp :a :keyword :is :simply :a :symbol :which :has :the :KEYWORD :home :package :which :is :true :of :all :symbols :starting :with :a :colon :so :you :can :construct :arbitrarily :long :sentences. :Do :I :win?))

Auswertungen zu T

Siehe http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_k.htm

Strigoides
quelle
9

c #, 17 Wörter

Das sieht nach einem ziemlich vernünftigen technischen Hokuspokus aus.
Ich denke, es kann ein bisschen erweitert werden.
foreachist ein bisschen die Regeln zu dehnen.
Verwendete diese Keyword-Liste .

Versuchen Sie den expliziten Operator, falls implizite Zeichenfolgen für jede virtuelle Struktur genauso unsicher sind wie diese flüchtige Sperre.

ugoren
quelle
9

Faktor - 109

"Take my-world and with happy? make items to-do. Pause. Self not happy?"

"Ja <<."

"Von Oldies?"

"Ja >>. Selbst traurig."

"Haversin, hör zu, jede Formel wird zu Oldies. Werde nicht traurig, mache etwas Größeres als das Letzte. Oder. Mein Selbst ist Gold <<. Veränderung ist Gold. Geh zurück, wo deine Ereignismaske glücklich macht? Zukunft Erinnern Sie sich an Definition, Licht sind Kopien von glücklich? "

"Schönster Tag in meiner Nähe? Handle-mich, handle-mich. Trauriges Ich. Zuhause nicht in meiner Nähe. Zuhause überhaupt nicht in meiner Nähe. Out-of-memory. Trauriges Ich, altes Ich. Die meisten in der Nähe von denen, die sich vor langer Zeit selbst verlassen haben. "

"Haversin, bekanntes Selbst der Veränderung. Nein, traurig, Haversin. Werden Sie glücklich? Vergessen Sie, was << Sie davon abhält, glücklich zu sein? Mein Ich will >> Sie selbst sein> nicht traurig. Bevor Sie gehen, erinnern Sie sich an einen Fehler."

"Nicht merken-Fehler! Fehler nicht! Mein-Array hat-Eintrag? Kein Fehler! Fehler hinterlassen!"

"Smart-if-Erinnerungsfehler."

Viele davon sind Strecken, aber es erzählt eine Geschichte, also macht es das wieder wett.

Matthew Rolph
quelle
1 +für Faktor !!
Katze
Factor ist besonders gut dafür, weil es keine Schlüsselwörter hat: D
Katze
8

Apfelskript, 30 Wörter

I never thought I would post an Applescript answer on PPCG, but given Applescript's natural language design philosophy, it is perfectly suited for this question.

I'm not much of a wordsmith, so here's one just to get us started, but I fully expect others will easily beat this:

Beneath the eighth error, my third script is ignoring the sixth local copy
of the fourth transaction to the seventh property whose reference is given
to repeat every tenth second.

This is constructed just from Applescript's keywords, which are:

Keywords

etwa oben nach gegen und "abgesehen von" herum als "abgesehen von" hinten vor dem Beginn hinter unten neben dazwischen, aber unter Berücksichtigung von enthalten enthält weiter kopieren div macht achtes Ende gleich gleich Fehler, jeder Ausgang FALSCH wird fünftel zuerst für viertel von vorne gegeben global, wenn ignorieren in "statt" in ist es sein letztes lokales me middle mod mein neuntes nicht von on auf oder out von over prop property put ref reference repeat return return script zweiter satz siebter seit sechster einige sagen zehntel, dass der dann dritte durch die timeout times bis zur transaktion TRUE probieren bis wo während wessen mit ohne verwendet wird

Folgendes kann für diese Herausforderung als gültig angesehen werden oder nicht:

Integrierte Klassen und Eigenschaften

alias application boolesche Zentimeter Zentimeter Zeichenklasse Inhalt Konstante "Kubikzentimeter" "Kubikzentimeter" "Kubikfuß" "Kubikzoll" "Kubikmeter" "Kubikmeter" "Kubikyard" Datum "Datumszeichenfolge" Tag "Grad Celsius" "Grad Fahrenheit "" Grad Kelvin "Fuß Datei vorderste Gallonen Gramm ID Zoll Ganzzahl Artikel Kilogramm Kilometer Kilometer Länge Liste Liter Liter Meter Meilen Monat Name Nummer Unzen Absatz" POSIX-Datei "" POSIX-Pfad "Pfund Quarts" Zitierte Form "Realer Datensatz Referenz Rest Reverse" RGB Farbe "Laufschrift" Quadratfuß "" Quadratkilometer "" Quadratkilometer "" Quadratmeter "" Quadratmeter ""Quadratmeilen "" Quadrat Yards "Textzeit" Zeitzeichenfolge "" Einheitentypen "Version Wochentag Wort Yards Jahr

Eingebaute Befehle

aktiviere "ASCII-Zeichen" "ASCII-Nummer" Piepton "wähle Anwendung" "wähle Farbe" "wähle Datei" "wähle Dateinamen" "wähle Ordner" "wähle aus Liste" "wähle Remote-Anwendung" "wähle URL" "Zwischenablage-Info" " Zugriff schließen "Anzahl der Kopien" Aktuelles Datum "Verzögerung" Warnung anzeigen "" Dialogfeld anzeigen "" Benachrichtigung anzeigen "" Shell-Skript ausführen "EOF abrufen" "Volume-Einstellungen abrufen" "Informationen zum Starten von Listen-Datenträgern" "Ordner auflisten" "load script" "localized string" log "mount volume" offset "open for access" "open location" "path to" "path to resource" "random number"read round run "run script" say "scripting components" set "set eof" "setze die Zwischenablage auf" "set volume" "store script" summiere "system attribute" "system info" "die Zwischenablage" "time to GMT" schreibe

Attribute berücksichtigen / ignorieren

Groß- / Kleinschreibung diakritische Zeichen Bindestriche "numerische Zeichenfolgen" Interpunktion "Leerraum"

Digitales Trauma
quelle
8

Shakespeare

44 Wörter, 28 einzigartig

Ja, all diese Wörter haben in Shakespeare wirklich eine Schlüsselwortbedeutung. Shakespeare-Charakternamen, normale Substantive und Adjektive sind ebenfalls ein Kernbestandteil der Sprache, aber ich dachte, sie würden die Liste für diese Übung zu sehr aufblähen.

Sie müssen auf Ihr Herz hören, um in Ihren Geist einzudringen: Das Herz soll den Unterschied zwischen dem Ausgang und der Rückkehr in Erinnerung rufen, damit Sie sich daran erinnern, dass Sie Ihre Kunst sind, und Sie das Produkt von sich selbst und einer Tat sind, die besser ist als Sie.

Luke
quelle
7

Ruby, 41 Wörter

Wahre Selbst, beginne keine Klassenunterbrechung, beende die Klassenunterbrechung, stelle sicher, dass die Klassenunterbrechung wiederholt wird, rette die Klassenunterbrechung oder bringe die Klassenunterbrechung bis zum nächsten Klassenende (oder dem nächsten Klassenmodul oder der nächsten Klassenretoure) oder sonst!

Es werden nur Wörter verwendet, die als tatsächliche Schlüsselwörter aufgeführt sind . Es gibt viele andere Wörter, die sich wie Schlüsselwörter verhalten, weil sie Methoden des Kernels oder Instanzmethoden von Class sind.

Ein käsigerer Ansatz würde beginnen

Definiere nicht "Alias", "begin", "break", ...

Histokrat
quelle
3

C ++.

Viele wiederholte Wörter, aber ein sinnvoller Grenzsatz:

If this volatile friend false and do return unsigned public union template throw union
template goto void for false friend not using class, and try switch for new protected
union using true friend, or else catch long, private break using this public operator
switch for explicit union using new virtual friend if union for this friend not long and
true.

Aka: Wenn dieses launische Mädchen die Heiratsurkunde nicht unterschreibt, wirf die Urkunde weg und finde ein nettes neues Mädchen - und wenn das nicht klappt, versuche einfach eine ... virtuelle Gewerkschaft über den "öffentlichen Vermittlungsschalter" .

Oh, was die genaue Anzahl der Wörter angeht, tut mir leid, aber ich bin zu faul, um zu zählen.

Jerry Sarg
quelle
3

Python, 48 Wörter

class, try (if lambda is in class) and continue as if in break from global import and raise yield for return from exec; else, while lambda is not in class, continue with print import except for def, finally pass 'assert elif' or else del is not for class.

This contains every keyword in keyword.kwlist

I think some explanation is required here: This sentence is said to a school class that is currently in some place called exec. In the class, there are amongst others two people named lambda and def. def should pass the assert elif test because otherwise the DEL (German ice hockey league) is nothing for the class.

jazzpi
quelle
<sprachlos> oo
Katze
2

ECMA

Ein bisschen gebrochenes Englisch aufgrund der Tatsache, dass ECMA reservierte Wörter weder Konjunktionen noch mehr als eine Konjugation von Verb enthalten. Es ist wirklich eine zwingende Sprache!

Probieren Sie diesen neuen Falltyp mit dieser Standardfangfunktion aus.

In diesem Fall brechen Sie mit diesem Schalter ein. Wenn der Haken bricht, kehre mit diesem neuen Schalter zurück; endlich mit dieser neuen funktion einwerfen.

Kojiro
quelle
2

Perl - mehrere Einträge

Wenn das Paket gebunden ist, lösen Sie es, packen Sie es aus und trennen Sie es, bis es geöffnet ist. Lesen Sie als nächstes die Karte, schreiben Sie den Status, kehren Sie das System um und geben Sie es zurück. (28 verschiedene Wörter)

bless (not hex) my rand-y flock; continue until values accept no sin; study END times, accept sleep and die; CHECK keys and close each crypt lock. (25 distinct words)

tell our next caller: "use fork and pipe; push, break, delete, kill, and DESTROY." (13 distinct words)

Ralph Marshall
quelle
1

Haskell (~29-ish)

In case of foreign type, import data module; where as for all (forall) in qualified class, if hiding, then do default (let in, deriving instance of data family where qualified, otherwise data instance of type family); else type in fix (infix).

In Haskell, data family is a separate keyword from data, likewise with type family, and deriving instance is separate from deriving and instance. I am using forall as two words (counting only one), where as as one (counting two), and infix as two (counting one).

archaephyrryx
quelle