Для компьютерного языка зарезервированное слово - это слово, которое нельзя использовать в качестве идентификатора, например, имя переменной, функции или метки. Для других компьютерных языков ключевые слова могут рассматриваться как набор языковых инструкций.
Вызов
Используя выбранный вами язык, напишите код на выбранном языке, который имеет число от одного до десяти 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.
- Допустимы либо полная программа, либо функция. Если функция, вы можете вернуть вывод, а не распечатать его.
- Если возможно, пожалуйста, включите ссылку на онлайн-среду тестирования, чтобы другие люди могли опробовать ваш код!
- Стандартные лазейки запрещены.
- Это Код-гольф поэтому применяются все обычные правила игры в гольф, и выигрывает самый короткий код (в байтах).
code-golf
string
compression
mdahmoune
источник
источник
continue this long break
Хотелось бы! Вот почему я на SE!Ответы:
APL (Dyalog Unicode) , 9 байтов SBCS
Полная программа. Запрашивает stdin для
n
(на самом деле работает в диапазоне 0–29). Ключевые слова APL являются односимвольными символами, поэтому это выводитn
символы на стандартный вывод.Попробуйте онлайн!
⎕AV
атомный вектор (т.е. набор символов)156↓
отбросить первые 156 элементов⎕↑
подскажитеn
и возьмите столько элементов из вышеперечисленногоисточник
Python 2 , 25 байт
Безымянная функция принимает целое число в [1,10], которое возвращает строку однобайтовых двоичных операторов.
Попробуйте онлайн!
Операторы:
Если разрешены только фактические ключевые слова: 40 байт
Безымянная функция принимает целое число в [1,10], которое возвращает список строк.
Попробуйте онлайн!
Код должен быть достаточно простым - он определяет функцию, принимающую один аргумент,
n
используяlambda n:...
который возвращает firstn
(...[:n]
) из известных ключевых слов, используя стандартные библиотекиkeywords.kwlist
(вместе со стандартной техникой игры в гольфimport*
).источник
=
это «Задание», как==
и «Тест на равенство»Java 10,
8372 байта (ключевые слова)Попробуйте онлайн.
Старый 83 байта ответа:
Попробуйте онлайн.
Объяснение:
Список доступных ключевых слов для Java 8. Java 10 имеет ключевое слово
var
в дополнение к ним.Java 8+, 30 байт (операторы)
Попробуйте онлайн.
источник
Желе , 3 байта
Монадическая ссылка, принимающая целое число и возвращающая список символов.
Попробуйте онлайн!
Получающиеся символы - все монадические атомы в кодовой странице Желе :
Как?
источник
Древесный уголь , 16 байт
Жаль, что в Charcoal нет предустановленной переменной для собственной кодовой страницы.
Попробуйте онлайн.
Объяснение:
Получить подстроку от индекса 0 до номера ввода:
Строка с 10 ключевыми словами:
источник
n
из них, что я могу сделать в 8 байтов.A
, Например , не используется вообще прямо сейчас, не так ли? (За исключением в сочетании сKA
или⌕A
.)A
это команда и оператор, но не очень хороший, так как это может вызвать путаницу междуFind
иFindAll
, но затем вы снова застреваете вH
иO
, которые используются только как модификаторы, а затемQ
вообще не используются, что ограничивает вас. Греческие буквы, тогда?Perl 5
-lp
, 24 байтаПопробуйте онлайн!
Легко распространяется на все более и более длинных ключевых слов, но вам нужно будет делать специальный кожух , начиная с 4 -х букв , потому что вы столкнетесь с проблемами
dump
,eval
,exit
, иgetc
т.д ..Конечно, просто выводить операторы и сигилы скучно, но короче на 11 байтов:
Попробуйте онлайн!
(Я пропустил,
#
так как неясно, как я должен классифицировать это в контексте этой задачи)источник
JavaScript (Node.js) ,
7961 байтПопробуйте онлайн!
Как :
Если использование операторов разрешено (скорее всего, так как они являются зарезервированными словами), то:
JavaScript (Node.js) ,
2625 байтПопробуйте онлайн!
Благодаря @Adam сэкономлено 8 байт, а благодаря @ l4m2 - еще 1 байт.
Как :
источник
n=>'|/^%+<&*-='.substr(-n)
int
это «зарезервированное слово» согласно определению в вызове. Вы можете назвать переменнуюint
в JavaScript.int
зарезервировано как возможное будущее ключевое слово спецификацией ECMAScript.substr
вместоslice
?Рубин , 22 байта
Попробуйте онлайн!
-2 байта благодаря @ benj2240
источник
String#[]
имеет перегрузку с двумя аргументами, которую можно использовать для -2 байтов:[0,n]
p
не зарезервированное слово,&
должно работатьp
которой будет обращаться вместо вызова метода без переменных (p = 1; p p #=> 1
)Pyth , 4 байта
Попробуйте онлайн!
К сожалению, многие буквы являются переменными (
GHJKNQTYZbdkz
).источник
C # .NET,
7662 байта (ключевые слова)Попробуйте онлайн.
Старый 76-байтовый ответ:
Попробуйте онлайн.
Объяснение:
Список доступных ключевых слов в C # .NET.
C # .NET, 30 байтов (операторы)
Попробуйте онлайн.
источник
Очарование , 52 байта
Это выводит все зарезервированные слова в Charm.
Поскольку весь нерекурсивный код в Charm является встроенным, это анонимная функция. Звоните так:
(выходы
[ := :: "
, только четыре зарезервированных слова.)При присвоении этой функции имя добавляет 5 байтов:
источник
Brain-Flak ,
122120 байтПопробуйте онлайн!
Просто делаю свою часть, чтобы заполнить примеры языков. Выходы
()[]<>}{
, выскакивающие спереди на номера меньше 8.источник
Unary,6072204020736072426436378380483266268 байтСпасибо Джо Кингу за 99.999993768646738908474177860631% сокращения
источник
,[.-]
Подходит ли в Ленгуаге требование?Рубин ,
5049 байтовПопробуйте онлайн!
Не используя никаких операторов (
+
,|
и т. Д.).источник
Рубин,
7168 байтХорошо, не самый короткий подход, но слишком весело, чтобы не публиковать. Программно находит все строки длиной до трех строчных букв, которые не могут быть назначены. Там бывает ровно 10
["do", "if", "in", "or", "and", "def", "end", "for", "nil", "not"]
.Изменить: Сохранено 3 байта благодаря Асоне Тухид.
источник
Object
так как это суперклассException
Japt , 3 байта
Возвращает строку, где каждый отдельный символ является именем метода в Japt.
Попробуй это
;C
является строчным алфавитом иî
повторяет его до тех пор, пока его длина не будет равна вводу.источник
Цыпленок , 7 байт
Не серьезный ответ. Но это должно быть здесь.
источник
R ,
76626057 байт12 байтов сохранено благодаря MickyT
5 байтов сохранено благодаря snoram
Попробуйте онлайн!
В R не так много зарезервированных слов, но они являются одними из самых коротких для кодирования. Здесь только 9, но если
10
задан ввод , пропущенное значениеNA
добавляется в конец списка и печатается.источник
"NaN"
как0/0
илиNaN
для другой пары байтов.1/0,0/0
на1:0/0
.1[1:2]
возвращает[1] 1 NA
=> вы можете пропуститьNA
исходный вектор ... если пользовательский ввод равен 10, он будет добавлен в конце.Python 2 , 64 байта
Попробуйте онлайн!
Python 2 , 57 байт (с операторами)
Попробуйте онлайн!
операторы ключевых слов
источник
Пробел , 84 байта
Буквы
S
(пробел),T
(табуляция) иN
(новая строка) добавляются только как подсветка.[..._some_action]
добавлено только в качестве объяснения.Пробельные символы содержат только три допустимых ключевых слова: пробелы, табуляции и новые строки.
Пояснение в псевдокоде:
Пример работы:
Входные данные:
1
Программа останавливается с ошибкой: выход не определен.
Попробуйте онлайн (только с пробелами, вкладками и новыми строками).
Выводит один пробел.
Входные данные:
2
Программа останавливается с ошибкой: выход не определен.
Попробуйте онлайн (только с пробелами, вкладками и новыми строками).
Выводит пробел, за которым следует табуляция.
Вход:
3
(или выше)Программа останавливается с ошибкой: выход не определен.
Попробуйте онлайн (только с пробелами, вкладками и новыми строками).
Выводит пробел, за которым следует вкладка, за которой следует новая строка.
источник
Brain-Flak , 118 байт
Попробуйте онлайн!
источник
05AB1E , 2 байта
Попробуйте онлайн!
Каждая буква алфавита является командой в 05AB1E.
Все, что это делает, это печатает первые
N
буквы алфавита.источник
> <> ,
11 109 байтПопробуйте онлайн!
Оказалось, самое простое решение было лучшим. Это выводит первые n чисел, начиная с 0.
Старые 10-байтовые решения
Попробуйте онлайн!
Некоторые 10-байтовые альтернативы:
"':1+{[>o<
"r:n[~>o<a
"'a{[>o<bc
источник
Haskell , 22 байта
Попробуйте онлайн!
Спасибо @Angs за обнаружение ошибок ключевых слов.
Я чувствовал, что это может быть короче, если генерировать строку вместо ее явного определения, но я не могу найти диапазон из 10 последовательных символов ASCII, которые являются ключевыми словами Haskell (я нашел некоторые из них близкие, если вы посчитаете ключевые слова расширения языка). Если он есть, вы можете уменьшить его до 15 байт, заменив
%
его начальным символом:Без символических ключевых слов:
Haskell , 58 байт
Попробуйте онлайн!
источник
!
не зарезервировано, напримерlet a!b=a+b
, хорошоas
как также является действительным идентификатором..
также не зарезервированы - ни один из других операторов в прелюдии, как, например, и+
т. д. - см. этоC (gcc) ,
6260 байт-2 благодаря GPS
Попробуйте онлайн!
Я имею в виду ... не было никаких требований по разделению ключевых слов.
В случае, если я неправильно прочитал - или вас больше интересует нечто большее в духе вопроса - вот альтернативная версия с разделительными пробелами:
C (gcc) , 69 байтов
Попробуйте онлайн!
источник
do
?do
если вы используете строковые функции вывода. 69 байт: TioTcl , 37 байт
Попробуйте онлайн!
источник
Такси, 509 байтов
Это берет жестко запрограммированную строку в верхней части и печатает «n» символов из нее, а затем выдает ошибки с ошибкой: «ошибка: не найдено исходящих пассажиров».
Строка содержит:
[
и]
символы, используемые для объявления планаa
используется в синтаксисе «Пикап пассажира ...».l
иr
, сокращение от «левый» и «правый», используется, чтобы сказать водителю, какой путь повернуть.n
,s
,e
, Иw
четыре направления.Я считаю, что все это считается одним символом ключевых слов. Ungolfed:
источник
J 15 байт
Попробуйте онлайн!
Предоставляет массив строк
A.
вJ.
.Пунктирные слова в J действуют как встроенные (такие как
a.
илиA.
) или управляющие структуры (такие какif.
илиdo.
), или просто выдают орфографическую ошибку. Ни один из них не может быть использован в качестве идентификатора.Менее интересно, 15 байт
Попробуйте онлайн!
Дает некоторые из 10 однобайтовых глаголов.
источник
Bash и shell используют 20 байтов
Вы можете сохранить это в файле с разрешениями на выполнение (встроенными) и запустить его в bash, например:
Выводит первые N встроенных модулей.
Если вы используете какую-то оболочку, отличную от bash, вам понадобится строка shebang #! / Bin / bash в начале файла, для + 12b
источник
QBasic, 60 байт
Я считаю, что этот ответ лучше всего соответствует духу вопроса: выводить алфавитно-зарезервированные ключевые слова с пробелами между ними. Я не думаю, что символические операторы действительно считаются «словами» в QBasic, но для полноты вот 30-байтовый ответ с использованием операторов:
источник