Geben Sie einige reservierte Wörter aus

9

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<=10angibt und alle nreservierten 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, pmuss der Code alle reservierten Wörter für nzwischen pund ausgeben 10.
  • 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 daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Bytes) gewinnt.
mdahmoune
quelle
Kommentare sind nicht für eine ausführliche Diskussion gedacht. Dieses Gespräch wurde in den Chat verschoben .
Mego
2
continue this long breakIch wünsche! Deshalb bin ich auf SE!
Stan Strum
Die ganzen Zahlen sind reserviert, aber ich denke, das wäre eine Lücke.
Snoram

Antworten:

7

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 werden nSymbole nach Standard gedruckt .

⎕↑156↓⎕AV

Probieren Sie es online aus!

⎕AV der Atomvektor (dh der Zeichensatz)

156↓ Lass die ersten 156 Elemente fallen

⎕↑ fordern Sie so nviele Elemente von oben auf und nehmen Sie sie

Adam
quelle
5

Python 2 , 25 Bytes

lambda n:'=+*/%&^|<>'[:n]

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:

=  Assign
+  Addition
*  Multiplication
/  Division
%  Modulo
&  Bitwise-AND
^  Bitwise-XOR
|  Bitwise-OR
<  Less Than?
>  Greater Than?

Wenn nur tatsächliche Schlüsselwörter zulässig sind: 40 Byte

from keyword import*
lambda n:kwlist[:n]

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, nmit lambda n:...der das erste n( ...[:n]) der bekannten Schlüsselwörter unter Verwendung der Standardbibliothek keywords.kwlist(zusammen mit der Standardgolftechnik von import*) zurückgegeben wird.

Jonathan Allan
quelle
sehr kleiner Punkt, aber sicherlich =ist "Aufgabe" wie =="Test für Gleichheit"
Nudel9
Ups, guter Fang, danke @ Noodle9
Jonathan Allan
Seltsame Abstimmung! Bearbeiten: Jemand hat entschieden, dass alle Antworten hier eine Abwertung verdienen. LOL
Jonathan Allan
Sicher war ich es nicht - ich mochte Ihre Antwort und stimmte sie ab! :)
Nudel9
4

Java 10, 83 72 Bytes (Schlüsselwörter)

n->"do   if   for  int  new  try  var  byte case char ".substring(0,n*5)

Probieren Sie es online aus.

Alte 83 Bytes Antwort:

n->java.util.Arrays.copyOf("do if for int new try var byte case char".split(" "),n)

Probieren Sie es online aus.

Erläuterung:

n->                         // Method with integer parameter and String-array return-type
  java.util.Arrays.copyOf(  //  Create a copy of the given array:
    "do if for int new try var byte case char".split(" ") 
                            //   The keywords as String-array,
    ,n)                     //   up to and including the given `n`'th array-item

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)

n->"+-/*&|^~<>".substring(0,n)

Probieren Sie es online aus.

Kevin Cruijssen
quelle
3

Gelee , 3 Bytes

ØAḣ

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 :

A   Absolute value.
B   Convert from integer to binary.
C   Complement; compute 1 − z.
D   Convert from integer to decimal.
E   Check if all elements of z are equal.
F   Flatten list.
G   Attempt to format z as a grid.
H   Halve; compute z ÷ 2.
I   Increments; compute the differences of consecutive elements of z.
J   Returns [1 … len(z)].

Wie?

ØAḣ - Link: integer n (in [1,10])
ØA  - yield uppercase alphabet = ['A','B','C',...,'Z']
  ḣ - head to index n
Jonathan Allan
quelle
Oh - ich sehe, jemand hat beschlossen, ALLE Antworten herunterzustimmen. wie sportlich!
Jonathan Allan
Denke, diese Antwort verdient auch eine positive Bewertung! :)
Nudel9
3

Holzkohle , 16 Bytes

✂”yPBG¤T⎚M↶↷J”⁰N

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:

Slice("...",0,InputNumber)
✂”y...”⁰N

Die Zeichenfolge mit 10 Schlüsselwörtern:

”yPBG¤T⎚M↶↷J”
Kevin Cruijssen
quelle
Ich gehe davon aus, dass die Buchstaben mit voller Breite aufeinanderfolgende Zeichencodes haben, sodass Sie nur den ersten drucken können n, was ich in 8 Bytes tun kann.
Neil
@Neil Aber werden zehn dieser aufeinanderfolgenden Zeichen als Befehle / Operatoren verwendet? Das zum Beispiel wird momentan überhaupt nicht verwendet, oder? (Außer in Kombination mit KAoder ⌕A.)
Kevin Cruijssen
Eigentlich ist es ein Befehl und ein Operator, aber kein guter, da dies zu Verwechslungen zwischen Findund führen kann FindAll, aber Sie bleiben dann bei und wieder hängen , die nur als Modifikatoren verwendet werden und dann überhaupt nicht verwendet werden, was Sie einschränkt. Griechische Buchstaben also?
Neil
Egal, das sind Variablen, keine Befehle, denke ich.
Neil
3

Perl 5 -lp , 24 Bytes

#!/usr/bin/perl -lp
$_=(grep!eval,a..zz)[$_]

Probieren 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, getcetc ..

Natürlich ist es langweilig, nur Operatoren und Siegel auszugeben, aber mit 11 Bytes kürzer:

#!/usr/bin/perl -lp
$_=chr$_+35

Probieren Sie es online aus!

(Ich habe übersprungen, #da unklar ist, wie ich es im Kontext dieser Herausforderung klassifizieren soll.)

Ton Hospel
quelle
3

JavaScript (Node.js) , 79 61 Byte

n=>'true int var for in if new try of do'.split` `.slice(0,n)

Probieren Sie es online aus!

Wie :

n =>         // the input (will be an integer) between 1 and 10 (both inclusive)
    '        // beginning our string 
        true int var for in if new try of do'. // space separated reserved words
    split` `.        // turn it into an array every time there is a space we add to array
    slice(0,n)      // return elements of array starting from 0 and upto n

Wenn die Verwendung von Operatoren zulässig ist (höchstwahrscheinlich, da es sich um reservierte Wörter handelt), dann:

JavaScript (Node.js) , 26 25 Byte

n=>'|/^%+<&*-='.slice(-n)

Probieren Sie es online aus!

8 Bytes dank @Adam und 1 Byte dank @ l4m2 gespeichert

Wie :

n =>     // input (integer from 0-9 inclusive)
    '|/^%+<&*-='.    // operators make a shorter string 
        slice(-n)   // outputs string chars from last upto n 
            // this works since all operators are single chars and not multi chars.
Muhammad Salman
quelle
Oh ja, Lol spielt immer noch Golf. Danke @ Adám. Bin dankbar.
Muhammad Salman
3
Ich denke nicht, dass intes sich um ein "reserviertes Wort" gemäß der Definition in der Herausforderung handelt. Sie können sicherlich eine Variable intin JavaScript benennen .
Kamoroso94
1
Wenn ich mich gut erinnere, intist dies als mögliches zukünftiges Schlüsselwort in der ECMAScript-Spezifikation reserviert.
BNilsou
Warum substrstatt slice?
14 m2
3

Ruby , 22 Bytes

->n{'+-*/%&|^<>'[0,n]}

Probieren Sie es online aus!

-2 Bytes dank @ benj2240


quelle
In Ordnung. Wird meine Antwort aktualisieren.
String#[]hat eine Überladung mit zwei Argumenten, die Sie für -2 Bytes verwenden können:[0,n]
benj2240
pist kein reserviertes Wort, &sollte funktionieren
Asone Tuhid
@AsoneTuhid: p wird auch zum Drucken verwendet, aber Sie haben Recht, ich kann es wahrscheinlich ersetzen. Danke
@ I'mnoone Ja, aber es ist eine Methode, Sie können sie neu definieren und eine Variable mit dem Namen erstellen p, auf die zugegriffen wird, anstatt die Methode ohne Variablen p = 1; p p #=> 1
aufzurufen
2

Pyth , 4 Bytes

>QPG

Probieren Sie es online aus!

Leider sind viele der Buchstaben Variablen ( GHJKNQTYZbdkz).

p  <any>                  Print A, with no trailing newline. Return A.
q  <any> <any>            A == B
r  <str> 0                A.lower()
r  <str> 1                A.upper()
r  <str> 2                A.swapcase()
r  <str> 3                A.title()
r  <str> 4                A.capitalize()
r  <str> 5                string.capwords(A)
r  <str> 6                A.strip() - Remove whitespace on both sides of A.
r  <str> 7                Split A, eval each part.
r  <seq> 8                Run length encode A. Output format [[3, 'a'], [2, 'b'], [1, 'c'], [1, 'd']].
r  <str> 9                Run length decode A. Input format '3a2bcd' -> 'aaabbcd'
r  <seq> 9                Run length decode A. Input format [[3, 'a'], [2, 'b'], [1, 'c'], [1, 'd']].
r  <int> <int>            Range, half inclusive. range(A, B) in Python, or range(A, B, -1).
r  <str> <str>            String range. r(C(A), C(B)), then convert each int to string using C.
r  <int> <seq>            r(B, A)
s  <col(str)>             Concatenate. ''.join(A)
s  <col>                  reduce on +, base case []. (Pyth +)
s  <cmp>                  Real part. A.real in Python.
s  <num>                  Floor to int. int(A) in Python.
s  <str>                  Parse as int. "" parses to 0. int(A) in Python.
t  <num>                  A - 1.
t  <seq>                  Tail. A[1:] in Python.
u  <l:GH> <seq/num> <any> Reduce B from left to right, with function A(_, _) and C as starting value. G, H -> N, T ->. A takes current value, next element of B as inputs. Note that A can ignore either input.
u  <l:GH> <any> <none>    Apply A(_, _) until a result that has occurred before is found. Starting value B. A takes current value, iteration number as inputs.
v  <str>                  Eval. eval(A) without -s, ast.literal_eval(A) with -s (online). literal_eval only allows numeric, string, list, etc. literals, no variables or functions.
w                         Take input. Reads up to newline. input() in Python 3.
x  <int> <int>            Bitwise XOR. A ^ B in Python.
x  <lst> <any>            First occurrence. Return the index of the first element of A equal to B, or -1 if none exists.
x  <str> <str>            First occurrence. Return the index of the first substring of A equal to B, or -1 if none exists.
x  <non-lst> <lst>        All occurrences. Returns a list of the indexes of elements of B that equal A.
x  <str> <non-lst>        First occurence. Return the index of the first substring of A equal to str(B), or -1 if none exists.
y  <seq>                  Powerset. All subsets of A, ordered by length.
y  <num>                  A * 2.
Undichte Nonne
quelle
2

C # .NET, 76 62 Byte (Schlüsselwörter)

n=>"as  do  if  in  is  for int new out ref ".Substring(0,n*4)

Probieren Sie es online aus.

Alte 76 Bytes Antwort:

using System.Linq;n=>"as do if in is for int new out ref".Split(' ').Take(n)

Probieren Sie es online aus.

Erläuterung:

using System.Linq;  // Required import for Take
n=>                 // Method with integer parameter and IEnumerable<string> return-type
  "as do if in is for int new out ref".Split(' ') 
                    //  The keywords as string-array,
  .Take(n)          //  and return the first `n` items

Liste der verfügbaren Schlüsselwörter in C # .NET.


C # .NET, 30 Bytes (Operatoren)

n=>"+-/*&|^~<>".Substring(0,n)

Probieren Sie es online aus.

Kevin Cruijssen
quelle
2

Charm , 52 Bytes

Dies gibt alle reservierten Wörter in Charm aus.

" [  := :: \"   " 0 2 copyfrom 3 * substring pstring

Da der gesamte nicht rekursive Code in Charm inline-fähig ist, ist dies eine anonyme Funktion. Rufen Sie so an:

4 " [  := :: \"   " 0 2 copyfrom 3 * substring pstring 

(Ausgaben [ := :: ", die einzigen vier reservierten Wörter.)


Wenn Sie dieser Funktion einen Namen geben, werden 5 Bytes hinzugefügt:

f := " [  := :: \"   " 0 2 copyfrom 3 * substring pstring
Aearnus
quelle
2

Brain-Flak , 122 120 Bytes

({}<((((((((((((((()()){}()){}){}){})())[][]){}())()())[(([][]){}){}()])()())){}())[()()])>){({}<{({}<>)(<>)}{}>[()])}<>

Probieren 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.

Scherzen
quelle
2

Unary , 6072204020736072426436 378380483266268 Bytes

+[>+<+++++]>---. (0o12602122222703334)

Vielen Dank an Jo King für die Reduzierung um 99.999993768646738908474177860631%

14 m2
quelle
1
Ist die Bytennummer korrekt?
Mdahmoune
@mdahmoune Ich denke schon
l4m2
!! Es ist sehr groß
mdahmoune
@mdahmoune Es ist eigentlich ziemlich " klein " für Unary. ;) Wenn Sie hier auf PPCG nach anderen Unary- oder Lenguage-Antworten suchen, gibt es einige, die viel, viel größer sind.
Kevin Cruijssen
Passt ,[.-]in Lenguage die Anforderung?
14 m2
2

Ruby , 50 49 Bytes

->n{%w[do if or in end not for def nil and][0,n]}

Probieren Sie es online aus!

Nicht mit beliebigen Operatoren ( +, |usw.).

Asone Tuhid
quelle
2

Ruby, 71 68 Bytes

->n{(?a..'zzz').reject{|x|begin;eval x+'=n';rescue Object;end}[0,n]}

Okay, 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.

Histokrat
quelle
1
Schön, Sie können 3 Bytes sparen, indem Sie retten, Objectda es eine Superklasse vonException
Asone Tuhid
2

Japt , 3 Bytes

Gibt eine Zeichenfolge zurück, wobei jedes einzelne Zeichen ein Methodenname in Japt ist.

;îC

Versuch es

;Cist das Kleinbuchstaben-Alphabet und îwiederholt es, bis seine Länge der Eingabe entspricht.

Zottelig
quelle
@Downvoter, du hast vergessen einen Kommentar zu hinterlassen! : \
Shaggy
Es scheint, dass jemand alle Antworten heruntergestimmt hat: /
mdahmoune
2

Huhn , 7 Bytes

chicken

Keine ernsthafte Antwort. Aber es muss hier sein.

jimmy23013
quelle
2

R , 76 62 60 57 Bytes

12 Bytes dank MickyT gespart

5 Bytes dank Snoram gespeichert

cat(c("if","in",1:0/0,"for",F,T,"NULL","else")[1:scan()])

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 10angegeben wird, wird ein fehlender Wert NAan das Ende der Liste angehängt und gedruckt.

Giuseppe
quelle
Einige schnelle kleine Einsparungen
MickyT
@ MickyT danke! Realisiert speichere ich könnte "NaN"wie 0/0oder NaNauch noch ein paar Bytes.
Giuseppe
ersetzen 1/0,0/0durch 1:0/0.
Snoram
2
@snoram ah, ausgezeichnet! Und willkommen bei PPCG! Ich freue mich auf Ihre erste Antwort hier! Werfen Sie einen Blick auf Tipps zum Golfen in R und zögern Sie nicht, mich im Chat anzupingen! :-)
Giuseppe
Vielen Dank! @ Giuseppe übrigens. 1[1:2]Rückgabe [1] 1 NA=> Sie können NAden ursprünglichen Vektor überspringen ... Wenn die Benutzereingabe 10 ist, wird er am Ende angehängt.
Snoram
1

Leerzeichen , 84 Bytes

[S S S T    S S S S S N
_Push_32][S N
S _Duplicate][T N
S S _Print_as_character][S N
S _Duplicate][T N
T   T   _Read_STDIN_as_integer][T   T   T   _Retrieve][S S S T  N
_Push_1][T  S S T   _Subtract][S N
S _Duplicate][N
T   S N
_If_0_Jump_to_Label_EXIT][S S S T   S S T   N
_Push_9][T  N
S S Print_as_character][S S S T N
_Push_1][T  S S T   _Subtract][N
T   S N
_If_0_Jump_to_Label_EXIT][S S S T   S T S N
_Push_10][T N
S S _Print_as_character][N
S S N
_Create_Label_EXIT]

Buchstaben S(Leerzeichen), T(Tabulator) und N(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:

Print space
Integer i = STDIN as integer - 1
If i is 0:
  Exit program
Else:
  Print tab
  i = i - 1
  If i is 0:
    Exit program
  Else:
    Print new-line
    Exit program

Beispielläufe:

Eingang: 1

Command       Explanation                 Stack      Heap      STDIN    STDOUT   STDERR

SSSTSSSSSN    Push 32                     [32]
SNS           Duplicate top (32)          [32,32]
TNSS          Print as character          [32]                          <space>
SNS           Duplicate top (32)          [32,32]
TNTT          Read STDIN as integer       [32]       {32:1}    1
TTT           Retrieve                    [1]        {32:1}
SSSTN         Push 1                      [1,1]      {32:1}
TSST          Subtract top two (1-1)      [0]        {32:1}
SNS           Duplicate top (0)           [0,0]      {32:1}
NTSN          If 0: Jump to Label_EXIT    [0]        {32:1}
NSSN          Create Label_EXIT           [0]        {32:1}
                                                                                 error

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

Command       Explanation                 Stack      Heap      STDIN    STDOUT   STDERR

SSSTSSSSSN    Push 32                     [32]
SNS           Duplicate top (32)          [32,32]
TNSS          Print as character          [32]                         <space>
SNS           Duplicate top (32)          [32,32]
TNTT          Read STDIN as integer       [32]       {32:2}    2
TTT           Retrieve                    [2]        {32:2}
SSSTN         Push 1                      [2,1]      {32:2}
TSST          Subtract top two (2-1)      [1]        {32:2}
SNS           Duplicate top (1)           [1,1]      {32:2}
NTSN          If 0: Jump to Label_EXIT    [1]        {32:2}
SSSTSSTN      Push 9                      [1,9]      {32:2}
TNSS          Print as character          [1]        {32:2}             \t
SSSTN         Push 1                      [1,1]      {32:2}
TSST          Subtract top two (1-1)      [0]        {32:2}
NTSN          If 0: Jump to Label_EXIT    []         {32:2}
NSSN          Create Label_EXIT           []         {32:2}
                                                                                 error

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)

Command       Explanation                 Stack      Heap      STDIN    STDOUT   STDERR

SSSTSSSSSN    Push 32                     [32]
SNS           Duplicate top (32)          [32,32]
TNSS          Print as character          [32]                          <space>
SNS           Duplicate top (32)          [32,32]
TNTT          Read STDIN as integer       [32]       {32:3}    3
TTT           Retrieve                    [3]        {32:3}
SSSTN         Push 1                      [3,1]      {32:3}
TSST          Subtract top two (3-1)      [2]        {32:3}
SNS           Duplicate top (2)           [2,2]      {32:3}
NTSN          If 0: Jump to Label_EXIT    [2]        {32:3}
SSSTSSTN      Push 9                      [2,9]      {32:3}
TNSS          Print as character          [2]        {32:3}             \t
SSSTN         Push 1                      [2,1]      {32:3}
TSST          Subtract top two (2-1)      [1]        {32:3}
SSSTSTSN      Push 10                     [1,10]     {32:3}
TNSS          Print as character          [1]        {32:3}             \n
NSSN          Create Label_EXIT           []         {32:3}
                                                                                 error

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.

Kevin Cruijssen
quelle
1

Brain-Flak , 118 Bytes

({}<(((((((((((()()()()()){}){}){})())(([][][])){}{}())()())([][][])[]{})()())[][][][][])()())>){({}<({}<>)<>>[()])}<>

Probieren Sie es online aus!

# Push stuffs under the counter
({}<(((((((((((()()()()()){}){}){})())(([][][])){}{}())()())([][][])[]{})()())[][][][][])()())>)

# While True
{
    # Decrement the counter
    ({}<

        # Toggle a character
        ({}<>)<>
    >[()])
}

# Display alternate stack
<>
James
quelle
Dies druckt zusätzliche Null-Bytes für 9 und 10
Jo King
1

05AB1E , 2 Bytes

Probieren Sie es online aus!


Jeder Buchstabe des Alphabets ist ein Befehl in 05AB1E.

Sie drucken lediglich die ersten NBuchstaben des Alphabets.

Magische Krakenurne
quelle
1

Haskell , 22 Bytes

(`take`"';,=\"@\\`|~")

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 :

(`take`['%'..])

Ohne symbolische Schlüsselwörter:

Haskell , 58 Bytes

(`take`words"of in do let then else case data type class")

Probieren Sie es online aus!

user9549915
quelle
!ist nicht reserviert, zB let a!b=a+bist in Ordnung
Angs
Ups, du hast recht. Beide Teile wurden behoben, da dies asauch eine gültige Kennung ist.
user9549915
.ist auch nicht reserviert - keiner der anderen Operatoren im Vorspiel wie +etc ist - siehe das
Angs
1

C (gcc) , 62 60 Bytes

-2 dank GPS

f(n){puts("autocasecharelseenumgotolongvoidint do"+40-4*n);}

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

f(n){puts("auto case char else enum goto long void int  do"+50-5*n);}

Probieren Sie es online aus!

Gastropner
quelle
Benötigen Sie die beiden Leerzeichen danach do?
Jo King
@JoKing Ja, sonst könnten Müllzeichen geschrieben werden.
Gastropner
Sie können Leerzeichen nachher kürzen, dowenn Sie Zeichenfolgenausgabefunktionen verwenden. 69 Bytes: Tio
GPS
1

Taxi, 509 Bytes

"[]a lrnsew" is waiting at Writer's Depot. Go to Post Office: w 1 l 1 r 1 l. Pickup a passenger going to The Babelfishery. Go to The Babelfishery: s 1 l 1 r.Pickup a passenger going to The Underground.Go to Writer's Depot: n 1 l, 1 l, 2 l.Pickup a passenger going to Chop Suey.Go to Chop Suey: n, 3 r, 3 r.[a]Pickup a passenger going to Post Office.Go to Post Office: s 1 r 1 l 2 r 1 l.Go to The Underground: n 1 r 1 l.Pickup a passenger going to The Underground.Go to Chop Suey: n 2 r 1 l.Switch to plan "a".

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:

  1. [und ]die Zeichen, mit denen ein Plan deklariert wird
  2. a wird in der Syntax "Pickup a Passenger ..." verwendet.
  3. Das Leerzeichen, das zum Trennen von Syntaxelementen erforderlich ist
  4. lund r, kurz für "links" und "rechts", verwendet, um dem Fahrer mitzuteilen, in welche Richtung er abbiegen soll.
  5. n, s, e, Und wdie vier Richtungen.

Ich glaube, all diese zählen als Schlüsselwörter mit einem Zeichen. Ungolfed:

"[]a lrnsew" is waiting at Writer's Depot.
Go to Post Office: west, 1st left, 1st right, 1st left.
Pickup a passenger going to The Babelfishery.
Go to The Babelfishery: south, 1st left, 1st right.
Pickup a passenger going to The Underground.
Go to Writer's Depot: north, 1st left, 1st left, 2nd left.
Pickup a passenger going to Chop Suey.
Go to Chop Suey: north, 3rd right, 3rd right.
[print character]
Pickup a passenger going to Post Office.
Go to Post Office: south, 1st right, 1st left, 2nd right, 1st left.
Go to The Underground: north, 1st right, 1st left.
Pickup a passenger going to The Underground.
Go to Chop Suey: north, 2nd right, 1st left.
Switch to plan "print character".
pppery
quelle
1

J , 15 Bytes

[:u:46,"0~65+i.

Probieren Sie es online aus!

Gibt eine Reihe von Zeichenfolgen A.an J..

Gepunktete Wörter in J fungieren als integrierte (wie a.oder A.) oder Kontrollstrukturen (wie if.oder do.) 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.

Bubbler
quelle
1

Bash and Shell Utils 20 Bytes

compgen -b|head -$1

Sie können dies in einer Datei mit Ausführungsberechtigungen (Builtins) speichern und unter bash wie folgt ausführen:

$ ./builtins 5
 .
 : 
 [
 alias 
 bg  

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

Whofferbert
quelle
1

QBasic, 60 Bytes

INPUT n
?LEFT$("CLS FOR DEF RUN DIM PUT GET SUB END IF",n*4)

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:

INPUT n
?LEFT$("+-*/\^=><?",n)
DLosc
quelle