Виведіть кілька зарезервованих слів


9

Для комп’ютерної мови зарезервоване слово - це слово, яке не можна використовувати як ідентифікатор, наприклад, ім'я змінної, функції чи мітки. Для інших мов комп'ютера ключові слова можуть розглядатися як набір мовних інструкцій.

Виклик

За допомогою обраної вами мови напишіть код на вибраній мові, яка дала число від одного до десяти 1<=n<=10, виводить будь-які nзарезервовані слова (ключові слова) вибраної мови.

Особливості

  • Якщо обрана мова відрізняється регістром, також повинні бути виведені ключові слова.
  • Якщо обрана мова не відрізняється від регістру, в будь-якому випадку можуть бути ключові слова, що виводяться.
  • Якщо у вибраній мові є менше 10 ключових слів p, код повинен виводити всі зарезервовані слова для будь-якого nміж pі 10.
  • Якщо можливо, вкажіть у відповіді, чи вважаєте ви операторів ключовими словами чи ні.

Можливі зразки для Java (JDK10)

  • n=1 --> true
  • n=3 --> try new interface
  • n=4 --> continue this long break

Можливі зразки для> <>

  • n=1 --> >
  • n=3 --> > < ^
  • n=4 --> > < \ /

Можливі зразки для Brain-Flak

  • n=1 --> (
  • n=3 --> ( ) [ ]
  • n=9 --> ( ) [ ] { } < >

Правила

  • Введення та вихід можуть бути задані у будь-якому зручному форматі .
  • Не потрібно обробляти недійсні вхідні значення , допустимими входами є: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
  • Прийнятна або повна програма, або функція. Якщо функція, ви можете повернути вихід, а не надрукувати його.
  • Якщо можливо, додайте посилання на он-лайн тестування, щоб інші люди могли спробувати ваш код!
  • Стандартні лазівки заборонені.
  • Це є тому застосовуються всі звичайні правила гольфу, і найкоротший код (у байтах) виграє.

Коментарі не для розширеного обговорення; ця розмова була переміщена до чату .
Мего

2
continue this long breakЯ бажаю! Тому я на SE!
Стен Струм

цілі числа зарезервовані, але я гадаю, що це буде лазівка.
снорам

Відповіді:


7

APL (Dyalog Unicode) , 9 байт SBCS

Повна програма. Підказує stdin для n(насправді працює в діапазоні 0–29). Ключові слова APL - це однозначні символи, тому це друкує nсимволи для stdout.

⎕↑156↓⎕AV

Спробуйте в Інтернеті!

⎕AV Атомний вектор (тобто набір символів)

156↓ скиньте перші 156 елементів

⎕↑ підкажіть nі візьміть, що багато елементів із зазначеного вище


5

Python 2 , 25 байт

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

Неназвана функція, що приймає ціле число в [1,10], що повертає рядок однобайтових двійкових операторів.

Спробуйте в Інтернеті!

Оператори:

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

Якщо дозволено лише фактичні ключові слова: 40 байт

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

Неназвана функція, що приймає ціле число в [1,10], яка повертає список рядків.

Спробуйте в Інтернеті!

Код повинен бути досить простим - він визначає функцію, що бере один аргумент, nвикористовуючи lambda n:...який повертає перше n( ...[:n]) з відомих ключових слів за допомогою стандартної бібліотеки keywords.kwlist(разом із стандартною технікою гольфу import*).


дуже незначний момент, але, безумовно, =це "Призначення", як =="Тест на рівність"
Noodle9

На жаль, хороший улов, дякую @ Noodle9
Джонатан Аллан

Дивне голосування! Редагувати: хтось вирішив, що всі відповіді тут заслуговують на голосування. LOL
Джонатан Аллан

Звичайно, я не був - мені сподобалась ваша відповідь і підтримала її! :)
Noodle9

4

Java 10, 83 72 байти (ключові слова)

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

Спробуйте в Інтернеті.

Старі 83 байти відповідають:

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

Спробуйте в Інтернеті.

Пояснення:

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

Список доступних ключових слів для Java 8. Крім того, у Java 10 є ключове слово var.


Java 8+, 30 байт (оператори)

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

Спробуйте в Інтернеті.


3

Желе , 3 байти

ØAḣ

Монадійне посилання, що приймає ціле число і повертає список символів.

Спробуйте в Інтернеті!

Отримані символи - це всі монадні атоми на кодовій сторінці Jelly :

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)].

Як?

ØAḣ - Link: integer n (in [1,10])
ØA  - yield uppercase alphabet = ['A','B','C',...,'Z']
  ḣ - head to index n

О, я бачу, хтось вирішив перемогти ВСЕ відповіді; як спорт!
Джонатан Аллан

Вважайте, що ця відповідь заслуговує і на перевагу! :)
Noodle9

3

Вугілля деревне , 16 байт

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

Шкода, що в деревній вугіллі немає встановленої змінної для власної кодової сторінки.

Спробуйте в Інтернеті.

Пояснення:

Отримайте підрядку від індексу 0 до вхідного числа:

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

Рядок з 10 ключовими словами:

”yPBG¤T⎚M↶↷J”

Я припускаю, що літери повної ширини мають послідовні коди символів, тому ви можете просто надрукувати перший nіз них, що я можу зробити в 8 байт.
Ніл

@Neil Але чи десять цих послідовних символів використовуються як команди / оператори? , Наприклад , не використовується взагалі прямо зараз, чи не так? (За винятком комбінації з KAабо ⌕A.)
Кевін Круїйсен

На насправді це команда , і оператор, але не є хорошим, так як це може призвести до плутанини між Findі FindAll, але потім застрягти знову і , які тільки звикають в якості модифікаторів, а потім не використовується взагалі, що обмежує вас. Тоді грецькі букви?
Ніл

Неважливо, я думаю, це змінні, а не команди.
Ніл

3

Perl 5 -lp , 24 байти

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

Спробуйте в Інтернеті!

Легко поширюється на всі більш і більш довгих ключових слів, але вам потрібно буде робити спеціальний кожух , починаючи з 4 -х букв , тому що ви зіткнетеся з проблемами dump, eval, exit, і getcт.д ..

Звичайно, просто виводити операторів і sigils - це нудно, але коротше на 11 байт:

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

Спробуйте в Інтернеті!

(Я пропустив, #оскільки незрозуміло, як я повинен класифікувати це в контексті цього виклику)


3

JavaScript (Node.js) , 79 61 байт

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

Спробуйте в Інтернеті!

Як:

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

Якщо використання операторів дозволено (найімовірніше, це буде, оскільки це зарезервовані слова), тоді:

JavaScript (Node.js) , 26 25 байт

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

Спробуйте в Інтернеті!

Збережено 8 байт завдяки @Adam та ще 1 байт завдяки @ l4m2

Як:

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.


О так, Лол все ще займається гольфом. Дякую @ Adám. Оцініть це.
Мухаммад Салман

3
Я не думаю int, що це "зарезервоване слово", як визначено у визначенні виклику. Ви, звичайно, можете назвати змінну intв JavaScript.
kamoroso94

1
Якщо я добре пам’ятаю, intзарезервовано як можливе майбутнє ключове слово за специфікацією ECMAScript.
BNilsou

Чому substrзамість slice?
l4м2

3

Рубін , 22 байти

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

Спробуйте в Інтернеті!

-2 байти завдяки @ benj2240


Добре. Оновлю мою відповідь.

String#[]має перегрузку з двома аргументами, яку можна використовувати для -2 байтів:[0,n]
benj2240

pне є зарезервованим словом, &має працювати
Асона Тухід

@AsoneTuhid: p також використовується для друку, але ви праві, я, мабуть, можу його замінити. Дякую

@ Inoone Так, але це метод, ви можете його переосмислити, і ви можете створити змінну з ім'ям, до pякої можна отримати доступ замість виклику методу без змінних ( p = 1; p p #=> 1)
Asone Tuhid

2

Pyth , 4 байти

>QPG

Спробуйте в Інтернеті!

На жаль, багато листів є змінними (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.

2

C # .NET, 76 62 байти (ключові слова)

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

Спробуйте в Інтернеті.

Відповідь на старі 76 байт:

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

Спробуйте в Інтернеті.

Пояснення:

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

Список доступних ключових слів у C # .NET.


C # .NET, 30 байт (оператори)

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

Спробуйте в Інтернеті.


2

Чарівність , 52 байти

Це виводить усі зарезервовані слова в Charm.

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

Оскільки весь нерекурсивний код в Charm є вбудованим, це анонімна функція. Телефонуйте так:

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

(Виводи [ := :: ", лише чотири зарезервовані слова.)


Надавши цю функцію, ім'я додає 5 байт:

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


2

Unary , 6072204020736072426436 378380483266268 байт

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

Дякую Джо Кінгу за 99,999993768646738908474177860631 зниження


1
Чи правильне число байтів?
mdahmoune

@mdahmoune Я так думаю
l4m2

!! Це дуже велико
mdahmoune

@mdahmoune Це насправді досить « маленький » для Unary. ;) Якщо ви шукаєте інші відповіді на унінарну чи ленгейґанську мову тут, на PPCG, їх є багато, набагато більше, ніж це.
Кевін Кройсейсен

Чи ,[.-]відповідає Ленгуагу вимозі?
l4м2


2

Рубін, 71 68 байт

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

Гаразд, не найкоротший підхід, але занадто весело, щоб не публікувати. Програмно знаходить усі рядки до трьох малих літер, до яких неможливо призначити. Було рівно 10:["do", "if", "in", "or", "and", "def", "end", "for", "nil", "not"] .

Редагувати: Збережено 3 байти завдяки Asone Tuhid.


1
Приємно, врятувавши 3 байти , врятувавшись, Objectоскільки це суперкласException
Асона Тухід

2

Japt , 3 байти

Повертає рядок, кожен окремий символ - це ім'я методу в Japt.

;îC

Спробуй це

;C- це рядковий алфавіт і îповторює його, поки його довжина не дорівнює вводу.


@Downvoter, ти забув залишити коментар! : \
Кудлатий

Здається, хтось
заперечив


2

R , 76 62 60 57 байт

12 байт збережено завдяки MickyT

5 байт збережено завдяки snoram

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

Спробуйте в Інтернеті!

У R є не багато зарезервованих слів, але вони є одними з найкоротших для кодування. Тут всього 9, але якщо введено вхід 10, в NAкінці списку додається відсутнє значення та друкується.


Деякі швидкі заощадження
MickyT

@MickyT дякую! Зрозумів, що я міг би зберігати "NaN"як 0/0і NaNяк для іншої пари байтів.
Джузеппе

замінити 1/0,0/0на 1:0/0.
снорам

2
@snoram ах, чудово! І ласкаво просимо до PPCG! Я з нетерпінням чекаю вашої першої відповіді тут! Подивіться поради щодо гри в гольф в R та не соромтеся пінг мені в чаті! :-)
Джузеппе

Дякую! @Giuseppe btw. 1[1:2]return [1] 1 NA=> ви можете пропустити NAоригінальний вектор ... якщо введення користувача 10, він буде доданий в кінці.
снорам


1

Пробіл , 84 байти

[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]

Букви S(пробіл), T(вкладка) та N(новий рядок) додаються лише як підкреслення.
[..._some_action]додано лише як пояснення.

Пробіл містить лише три дійсні "ключові слова": пробіли, вкладки та нові рядки.

Пояснення в псевдокоді:

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

Приклад виконання:

Вхід: 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

Програма зупиняється з помилкою: вихід не визначений.
Спробуйте його в режимі он-лайн (лише із необробленими пробілами, вкладками та новими рядками).
Виводить один пробіл.

Вхід: 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

Програма зупиняється з помилкою: вихід не визначений.
Спробуйте його в режимі он-лайн (лише із необробленими пробілами, вкладками та новими рядками).
Виводить пробіл з наступною вкладкою.

Введення: 3(або вище)

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

Програма зупиняється з помилкою: вихід не визначений.
Спробуйте його в режимі он-лайн (лише із необробленими пробілами, вкладками та новими рядками).
Виводить пробіл, а потім вкладку, а потім новий рядок.


1

Мозок-Флак , 118 байт

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

Спробуйте в Інтернеті!

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

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

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

# Display alternate stack
<>

Це надрукує зайві нульові байти для 9 та 10
Джо Кінг,



1

Хаскелл , 22 байти

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

Спробуйте в Інтернеті!

Дякуємо @Angs за виявлення помилок ключових слів.

Я відчував, що це може бути коротшим, генеруючи рядок, а не чітко визначаючи її, але я не зміг знайти діапазон 10 послідовних символів ASCII, які є ключовими словами Haskell (я знайшов ті, які є близькими, якщо рахувати ключові слова для розширення мови). Якщо він є, ви можете зменшити його до 15 байт, замінивши %початковий символ:

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

Без символічних ключових слів:

Хаскелл , 58 байт

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

Спробуйте в Інтернеті!


!не зарезервовано, наприклад let a!b=a+b, добре
Angs

На жаль, ви праві. Виправлені обидві частини, оскільки asце також дійсний ідентифікатор.
користувач9549915

.також не зарезервовано - жоден з інших операторів у прелюдії, як +тощо, немає - дивіться це
англи

1

C (gcc) , 62 60 байт

-2 завдяки GPS

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

Спробуйте в Інтернеті!

Я маю на увазі ... ніколи не було жодної вимоги насправді розділяти ключові слова.

Якщо я неправильно прочитав - або вас більше цікавить щось більше в дусі питання - ось альтернативна версія з роздільними пробілами:

C (gcc) , 69 байт

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

Спробуйте в Інтернеті!


Вам потрібні два пробіли після do?
Джо Кінг

@JoKing Так, інакше можна писати символи сміття.
гастропнер

Ви можете обрізати пробіли після doвикористання функцій виведення рядків. 69 байт: Tio
GPS


1

Таксі, 509 байт

"[]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".

Це займає тверду кодову рядок вгорі і друкує з неї "n" символів, а потім помилки з "помилкою: вихідних пасажирів не знайдено".

Рядок містить:

  1. [і ], символи, які використовуються для оголошення плану
  2. a використовується в синтаксисі "Пікап пасажира ...".
  3. Пробільний символ, який потрібен для відокремлення фрагментів синтаксису
  4. lі r, скорочено «ліворуч» та «праворуч», використовується для того, щоб вказати водієві, яким шляхом повернути.
  5. n, s, e, І wчотири напрямки.

Я вважаю, що всі вони вважаються ключовими словами одного символу. Безголівки:

"[]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".

1

J , 15 байт

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

Спробуйте в Інтернеті!

Надає масив рядків A.вJ. .

Пунктирні слова в J виступають як вбудовані (наприклад, a.або A.) або керуючі структури (наприклад, if.або do.), або просто кидають орфографічну помилку. Жоден з них не може використовуватися як ідентифікатори.

Менш цікавий, 15 байт

{.&'!#$%^*-+=|'

Спробуйте в Інтернеті!

Дає кілька 10 однобайтних дієслів.


1

Bash і оболонка утиліти 20 байт

compgen -b|head -$1

Ви можете зберегти це у файлі з дозволами на виконання (вбудовані) та запустити його під bash таким чином:

$ ./builtins 5
 .
 : 
 [
 alias 
 bg  

Виводить перший вбудований N баш.

Якщо ви використовуєте іншу оболонку, крім bash, вам знадобиться лінія shebang #! / Bin / bash на початку файлу, для + 12b


1

QBasic, 60 байт

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

Ця відповідь найкраще відповідає думці питання, я вважаю: виведення за алфавітом зарезервованих ключових слів з пробілами між ними. Я не думаю, що символічні оператори дійсно вважаються "словами" в QBasic, але для повноти, ось відповідь на 30 байтів за допомогою операторів:

INPUT n
?LEFT$("+-*/\^=><?",n)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.