Für eine Computersprache ist ein reserviertes Wort ein Wort, das nicht als Bezeichner verwendet werden kann, z. B. der Name einer Variablen, Funktion oder Bezeichnung. Bei anderen Computersprachen können Schlüsselwörter als Satz der Sprachanweisungen betrachtet werden.
Herausforderung
Schreiben Sie unter Verwendung der Sprache Ihrer Wahl einen Code in der ausgewählten Sprache, der eine Zahl zwischen eins und zehn 1<=n<=10
angibt und alle n
reservierten Wörter (Schlüsselwörter) der ausgewählten Sprache ausgibt .
Besonderheiten
- Wenn bei der gewählten Sprache zwischen Groß- und Kleinschreibung unterschieden wird, müssen auch die ausgegebenen Schlüsselwörter verwendet werden.
- Wenn die gewählte Sprache nicht zwischen Groß- und Kleinschreibung unterscheidet, können die ausgegebenen Schlüsselwörter in jedem Fall sein.
- Wenn die ausgewählte Sprache weniger als 10 Schlüsselwörter enthält,
p
muss der Code alle reservierten Wörter fürn
zwischenp
und ausgeben10
. - Wenn möglich, geben Sie in der Antwort an, ob Sie Operatoren als Schlüsselwörter betrachten oder nicht.
Mögliche Beispiele für Java (JDK10)
n=1 --> true
n=3 --> try new interface
n=4 --> continue this long break
Mögliche Beispiele für> <>
n=1 --> >
n=3 --> > < ^
n=4 --> > < \ /
Mögliche Proben für Brain-Flak
n=1 --> (
n=3 --> ( ) [ ]
n=9 --> ( ) [ ] { } < >
Regeln
- Die Eingabe und Ausgabe kann in jedem geeigneten Format erfolgen .
- Ungültige Eingabewerte müssen nicht behandelt werden . Gültige Eingaben sind: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
- Entweder ein vollständiges Programm oder eine Funktion sind akzeptabel. Wenn es sich um eine Funktion handelt, können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Wenn möglich, fügen Sie bitte einen Link zu einer Online-Testumgebung hinzu, damit andere Personen Ihren Code ausprobieren können!
- Standardlücken sind verboten.
- Dies ist Code-Golf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Bytes) gewinnt.
code-golf
string
compression
mdahmoune
quelle
quelle
continue this long break
Ich wünsche! Deshalb bin ich auf SE!Antworten:
APL (Dyalog Unicode) , 9 Byte SBCS
Volles Programm. Fordert stdin für auf
n
(funktioniert tatsächlich für den Bereich 0–29). APL-Schlüsselwörter sind Einzelzeichensymbole, daher werdenn
Symbole nach Standard gedruckt .Probieren Sie es online aus!
⎕AV
der Atomvektor (dh der Zeichensatz)156↓
Lass die ersten 156 Elemente fallen⎕↑
fordern Sie son
viele Elemente von oben auf und nehmen Sie siequelle
Python 2 , 25 Bytes
Eine unbenannte Funktion, die eine Ganzzahl in [1,10] akzeptiert, die eine Zeichenfolge von Einzelbyte-Binäroperatoren zurückgibt.
Probieren Sie es online aus!
Die Betreiber:
Wenn nur tatsächliche Schlüsselwörter zulässig sind: 40 Byte
Eine unbenannte Funktion, die eine Ganzzahl in [1,10] akzeptiert und eine Liste von Zeichenfolgen zurückgibt.
Probieren Sie es online aus!
Der Code sollte recht einfach sein - er definiert eine Funktion mit einem Argument,
n
mitlambda n:...
der das ersten
(...[:n]
) der bekannten Schlüsselwörter unter Verwendung der Standardbibliothekkeywords.kwlist
(zusammen mit der Standardgolftechnik vonimport*
) zurückgegeben wird.quelle
=
ist "Aufgabe" wie==
"Test für Gleichheit"Java 10,
8372 Bytes (Schlüsselwörter)Probieren Sie es online aus.
Alte 83 Bytes Antwort:
Probieren Sie es online aus.
Erläuterung:
Liste der verfügbaren Schlüsselwörter für Java 8. Java 10 enthält zusätzlich das Schlüsselwort
var
.Java 8+, 30 Bytes (Operatoren)
Probieren Sie es online aus.
quelle
Gelee , 3 Bytes
Ein monadischer Link, der eine Ganzzahl akzeptiert und eine Liste von Zeichen zurückgibt.
Probieren Sie es online aus!
Die resultierenden Zeichen sind alle monadische Atome in Jellys Codepage :
Wie?
quelle
Holzkohle , 16 Bytes
Schade, dass es in Charcoal keine voreingestellte Variable für eine eigene Codepage gibt.
Probieren Sie es online aus.
Erläuterung:
Holen Sie sich eine Teilzeichenfolge vom Index 0 zur Eingabenummer:
Die Zeichenfolge mit 10 Schlüsselwörtern:
quelle
n
, was ich in 8 Bytes tun kann.A
zum Beispiel wird momentan überhaupt nicht verwendet, oder? (Außer in Kombination mitKA
oder⌕A
.)A
ist es ein Befehl und ein Operator, aber kein guter, da dies zu Verwechslungen zwischenFind
und führen kannFindAll
, aber Sie bleiben dann beiH
und wieder hängenO
, die nur als Modifikatoren verwendet werden und dann überhauptQ
nicht verwendet werden, was Sie einschränkt. Griechische Buchstaben also?Perl 5
-lp
, 24 BytesProbieren Sie es online aus!
Leicht zu mehr und mehr Keywords zu verlängern, aber Sie müssen spezielles Gehäuse tun bei 4 Buchstaben beginnen , weil Sie Probleme mit laufen
dump
,eval
,exit
,getc
etc ..Natürlich ist es langweilig, nur Operatoren und Siegel auszugeben, aber mit 11 Bytes kürzer:
Probieren Sie es online aus!
(Ich habe übersprungen,
#
da unklar ist, wie ich es im Kontext dieser Herausforderung klassifizieren soll.)quelle
JavaScript (Node.js) ,
7961 ByteProbieren Sie es online aus!
Wie :
Wenn die Verwendung von Operatoren zulässig ist (höchstwahrscheinlich, da es sich um reservierte Wörter handelt), dann:
JavaScript (Node.js) ,
2625 ByteProbieren Sie es online aus!
8 Bytes dank @Adam und 1 Byte dank @ l4m2 gespeichert
Wie :
quelle
n=>'|/^%+<&*-='.substr(-n)
int
es sich um ein "reserviertes Wort" gemäß der Definition in der Herausforderung handelt. Sie können sicherlich eine Variableint
in JavaScript benennen .int
ist dies als mögliches zukünftiges Schlüsselwort in der ECMAScript-Spezifikation reserviert.substr
stattslice
?Ruby , 22 Bytes
Probieren Sie es online aus!
-2 Bytes dank @ benj2240
quelle
String#[]
hat eine Überladung mit zwei Argumenten, die Sie für -2 Bytes verwenden können:[0,n]
p
ist kein reserviertes Wort,&
sollte funktionierenp
, auf die zugegriffen wird, anstatt die Methode ohne Variablenp = 1; p p #=> 1
Pyth , 4 Bytes
Probieren Sie es online aus!
Leider sind viele der Buchstaben Variablen (
GHJKNQTYZbdkz
).quelle
C # .NET,
7662 Byte (Schlüsselwörter)Probieren Sie es online aus.
Alte 76 Bytes Antwort:
Probieren Sie es online aus.
Erläuterung:
Liste der verfügbaren Schlüsselwörter in C # .NET.
C # .NET, 30 Bytes (Operatoren)
Probieren Sie es online aus.
quelle
Charm , 52 Bytes
Dies gibt alle reservierten Wörter in Charm aus.
Da der gesamte nicht rekursive Code in Charm inline-fähig ist, ist dies eine anonyme Funktion. Rufen Sie so an:
(Ausgaben
[ := :: "
, die einzigen vier reservierten Wörter.)Wenn Sie dieser Funktion einen Namen geben, werden 5 Bytes hinzugefügt:
quelle
Brain-Flak ,
122120 BytesProbieren Sie es online aus!
Ich trage nur meinen Teil dazu bei, die Beispielsprachen auszufüllen. Ausgänge
()[]<>}{
, die bei Zahlen unter 8 von der Vorderseite abfallen.quelle
Unary,6072204020736072426436378380483266268 BytesVielen Dank an Jo King für die Reduzierung um 99.999993768646738908474177860631%
quelle
,[.-]
in Lenguage die Anforderung?Ruby ,
5049 BytesProbieren Sie es online aus!
Nicht mit beliebigen Operatoren (
+
,|
usw.).quelle
Ruby,
7168 BytesOkay, nicht der kürzeste Ansatz, aber zu lustig, um nichts zu posten. Findet programmgesteuert alle Zeichenfolgen mit bis zu drei Kleinbuchstaben, die nicht zugewiesen werden können. Es sind genau 10 :
["do", "if", "in", "or", "and", "def", "end", "for", "nil", "not"]
.Bearbeiten: 3 Bytes dank Asone Tuhid gespeichert.
quelle
Object
da es eine Superklasse vonException
Japt , 3 Bytes
Gibt eine Zeichenfolge zurück, wobei jedes einzelne Zeichen ein Methodenname in Japt ist.
Versuch es
;C
ist das Kleinbuchstaben-Alphabet undî
wiederholt es, bis seine Länge der Eingabe entspricht.quelle
Huhn , 7 Bytes
Keine ernsthafte Antwort. Aber es muss hier sein.
quelle
R ,
76626057 Bytes12 Bytes dank MickyT gespart
5 Bytes dank Snoram gespeichert
Probieren Sie es online aus!
Es gibt nicht viele reservierte Wörter in R, aber diese gehören zu den am kürzesten zu codierenden. Hier gibt es nur 9, aber wenn eine Eingabe von
10
angegeben wird, wird ein fehlender WertNA
an das Ende der Liste angehängt und gedruckt.quelle
"NaN"
wie0/0
oderNaN
auch noch ein paar Bytes.1/0,0/0
durch1:0/0
.1[1:2]
Rückgabe[1] 1 NA
=> Sie könnenNA
den ursprünglichen Vektor überspringen ... Wenn die Benutzereingabe 10 ist, wird er am Ende angehängt.Python 2 , 64 Bytes
Probieren Sie es online aus!
Python 2 , 57 Bytes (mit Operatoren)
Probieren Sie es online aus!
Schlüsselwörter
Betreiber
quelle
Leerzeichen , 84 Bytes
Buchstaben
S
(Leerzeichen),T
(Tabulator) undN
(neue Zeile) werden nur als Hervorhebung hinzugefügt.[..._some_action]
nur als Erklärung hinzugefügt.Whitespace enthält nur drei gültige Schlüsselwörter: Leerzeichen, Tabulatoren und neue Zeilen.
Erklärung im Pseudocode:
Beispielläufe:
Eingang:
1
Programm stoppt mit einem Fehler: Kein Exit definiert.
Probieren Sie es online aus (nur mit Leerzeichen, Tabulatoren und neuen Zeilen).
Gibt ein einzelnes Leerzeichen aus.
Eingang:
2
Programm stoppt mit einem Fehler: Kein Exit definiert.
Probieren Sie es online aus (nur mit Leerzeichen, Tabulatoren und neuen Zeilen).
Gibt ein Leerzeichen aus, gefolgt von einer Registerkarte.
Eingabe:
3
(oder höher)Programm stoppt mit einem Fehler: Kein Exit definiert.
Probieren Sie es online aus (nur mit Leerzeichen, Tabulatoren und neuen Zeilen).
Gibt ein Leerzeichen aus, gefolgt von einer Registerkarte und einer neuen Zeile.
quelle
Brain-Flak , 118 Bytes
Probieren Sie es online aus!
quelle
05AB1E , 2 Bytes
Probieren Sie es online aus!
Jeder Buchstabe des Alphabets ist ein Befehl in 05AB1E.
Sie drucken lediglich die ersten
N
Buchstaben des Alphabets.quelle
> <> ,
11 109 BytesProbieren Sie es online aus!
Es stellte sich heraus, dass die einfachste Lösung die beste war. Dies gibt die ersten n Zahlen ab 0 aus.
Alte 10-Byte-Lösungen
Probieren Sie es online aus!
Einige 10-Byte-Alternativen:
"':1+{[>o<
"r:n[~>o<a
"'a{[>o<bc
quelle
Haskell , 22 Bytes
Probieren Sie es online aus!
Vielen Dank an @Angs für das Abfangen von Keyword-Fehlern.
Ich hatte das Gefühl, dass dies durch Generieren der Zeichenfolge kürzer sein könnte, anstatt sie explizit zu definieren, aber ich konnte keinen Bereich von 10 aufeinanderfolgenden ASCII-Zeichen finden, die Haskell-Schlüsselwörter sind (ich habe einige gefunden, die nahe beieinander liegen, wenn Sie Schlüsselwörter für Spracherweiterungen zählen). Wenn es eines gibt, können Sie es damit auf 15 Byte reduzieren und
%
durch das Startzeichen ersetzen :Ohne symbolische Schlüsselwörter:
Haskell , 58 Bytes
Probieren Sie es online aus!
quelle
!
ist nicht reserviert, zBlet a!b=a+b
ist in Ordnungas
auch eine gültige Kennung ist..
ist auch nicht reserviert - keiner der anderen Operatoren im Vorspiel wie+
etc ist - siehe dasC (gcc) ,
6260 Bytes-2 dank GPS
Probieren Sie es online aus!
Ich meine ... es gab nie eine Anforderung, die Schlüsselwörter tatsächlich zu trennen.
Für den Fall, dass ich falsch verstanden habe - oder Sie sich mehr für etwas im Sinne der Frage interessieren -, hier eine alternative Version mit getrennten Leerzeichen:
C (gcc) , 69 Bytes
Probieren Sie es online aus!
quelle
do
?do
wenn Sie Zeichenfolgenausgabefunktionen verwenden. 69 Bytes: TioTcl , 37 Bytes
Probieren Sie es online aus!
quelle
Taxi, 509 Bytes
Dies nimmt eine fest codierte Zeichenfolge oben und druckt "n" Zeichen daraus. Anschließend werden Fehler mit "Fehler: Keine ausgehenden Passagiere gefunden" angezeigt.
Die Zeichenfolge enthält:
[
und]
die Zeichen, mit denen ein Plan deklariert wirda
wird in der Syntax "Pickup a Passenger ..." verwendet.l
undr
, kurz für "links" und "rechts", verwendet, um dem Fahrer mitzuteilen, in welche Richtung er abbiegen soll.n
,s
,e
, Undw
die vier Richtungen.Ich glaube, all diese zählen als Schlüsselwörter mit einem Zeichen. Ungolfed:
quelle
J , 15 Bytes
Probieren Sie es online aus!
Gibt eine Reihe von Zeichenfolgen
A.
anJ.
.Gepunktete Wörter in J fungieren als integrierte (wie
a.
oderA.
) oder Kontrollstrukturen (wieif.
oderdo.
) oder werfen einfach Rechtschreibfehler. Keiner von ihnen kann als Bezeichner verwendet werden.Weniger interessant, 15 Bytes
Probieren Sie es online aus!
Gibt einige der 10 Ein-Byte-Verben an.
quelle
Bash and Shell Utils 20 Bytes
Sie können dies in einer Datei mit Ausführungsberechtigungen (Builtins) speichern und unter bash wie folgt ausführen:
Gibt die ersten eingebauten N-Bash-Ins aus.
Wenn Sie eine andere Shell als bash ausführen, benötigen Sie die Zeile shebang #! / Bin / bash am Anfang der Datei für + 12b
quelle
QBasic, 60 Bytes
Diese Antwort passt meiner Meinung nach am besten zum Geist der Frage: Ausgabe von alphabetisch reservierten Schlüsselwörtern mit Leerzeichen dazwischen. Ich denke nicht, dass symbolische Operatoren in QBasic wirklich als "Wörter" gelten, aber der Vollständigkeit halber hier eine 30-Byte-Antwort mit Operatoren:
quelle