예약어를 출력 된 키워드는 어떤

컴퓨터 언어의 경우 예약어는 변수 이름, 함수 또는 레이블과 같은 식별자로 사용할 수없는 단어입니다. 다른 컴퓨터 언어의 경우 키워드를 언어 지침 세트로 간주 할 수 있습니다.

도전

선택한 언어를 사용하여 1에서 10 사이의 숫자를 제공하는 선택한 언어로 코드를 작성하면 선택한 언어의 예약어 (키워드)가 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입니다.
  • 전체 프로그램 또는 기능이 허용됩니다. 함수 인 경우 출력하지 않고 출력을 반환 할 수 있습니다.
  • 가능하면 다른 사람들이 귀하의 코드를 시험해 볼 수 있도록 온라인 테스트 환경에 대한 링크를 포함하십시오!
  • 표준 허점 은 금지되어 있습니다.
  • 이것은 모든 일반적인 골프 규칙이 적용되며 가장 짧은 코드 (바이트)가 이깁니다.


답변

APL (Dyalog Unicode) , 9 바이트 SBCS

전체 프로그램. stdin에 대해 프롬프트합니다 n(실제로 0-29 범위에서 작동). APL 키워드는 단일 문자 기호이므로 n기호를 표준 출력으로 인쇄합니다 .

⎕↑156↓⎕AV

온라인으로 사용해보십시오!

⎕AV 원자 벡터 (즉, 문자 집합)

156↓ 처음 156 개의 요소를 삭제

⎕↑n위의 많은 요소를  요구 하고 가져옵니다.


답변

파이썬 2 , 25 바이트

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

1 바이트 이진 연산자의 문자열을 반환하는 [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.kwlistimport*


답변

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 바이트

Ø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

답변

, 16 바이트

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

Charcoal에는 자체 코드 페이지에 사전 설정된 변수 가 없습니다 .

온라인으로 사용해보십시오.

설명:

인덱스 0에서 입력 번호까지의 하위 문자열을 가져옵니다.

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

키워드가 10 개인 문자열 :

”yPBG¤T⎚M↶↷J”

답변

펄 5 -lp , 24 바이트

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

온라인으로 사용해보십시오!

쉬운 더 이상 키워드 확장 할 수 있지만,이 문제로 실행하기 때문에 당신은 4 글자로 시작하는 특별한 케이스를 수행해야합니다 dump, eval, exit, getc

물론 연산자와시길을 출력하는 것은 지루하지만 11 바이트는 더 짧습니다.

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

온라인으로 사용해보십시오!

( #이 도전의 맥락에서 어떻게 분류 해야하는지 명확하지 않기 때문에 건너 뛰었 습니다)


답변

자바 스크립트 (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

연산자 사용이 허용되는 경우 (대부분 예약어이므로)

자바 스크립트 (Node.js) , 26 25 바이트

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

온라인으로 사용해보십시오!

@Adam 덕분에 8 바이트 절약@ l4m2 덕분에 1 바이트 더 절약

어떻게 :

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.