예약어를 출력


9

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

도전

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

의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
Mego

2
continue this long break나는 원한다! 내가 SE에있는 이유입니다!
Stan Strum

정수는 예약되어 있지만 허점이 될 것 같습니다.
snoram

답변:


7

APL (Dyalog Unicode) , 9 바이트 SBCS

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

⎕↑156↓⎕AV

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

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

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

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


5

파이썬 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*


아주 작은 점이지만 =" ==평등을위한 테스트 "와 마찬가지로 "지정 "
Noodle9

죄송합니다, 잘 잡아 주셔서 감사합니다 @ Noodle9
Jonathan Allan

이상하게 투표하다! 편집 : 누군가가 여기에 모든 답변을 투표 할 가치가 있다고 결정했습니다. LOL
Jonathan Allan

확실히 내가 아니었다-나는 당신의 대답을 좋아하고 그것을 찬성했습니다! :)
국수 9

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

오-나는 누군가가 모든 답을 다운 투표하기로 결정한 것을 본다. 얼마나 스포츠!
Jonathan Allan

이 답변도 공감할 가치가 있다고 생각하십시오! :)
국수 9

3

, 16 바이트

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

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

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

설명:

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

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

키워드가 10 개인 문자열 :

”yPBG¤T⎚M↶↷J”

전각 문자에 연속 문자 코드가 있다고 가정하면 n8 바이트로 할 수 있는 첫 번째 문자를 인쇄 할 수 있습니다 .
Neil

@Neil 그러나 연속적인 문자 10 개가 명령 / 운영자로 사용됩니까? 예를 들어 지금은 모두 오른쪽에 사용하지 않는, 그것은 무엇입니까? (조합 제외 KA⌕A.)
케빈 Cruijssen에게

사실 그 사이에 혼란을 일으킬 수있는 명령 및 운영자,하지만 좋은 하나입니다 FindFindAll하지만 다음에 다시 집착 하고 만 수정으로 익숙해있는, 그리고 당신을 제한하는, 전혀 사용되지 않습니다. 그렇다면 그리스 문자?
Neil

신경 쓰지 마라. 그것들은 명령이 아니라 변수이다.
Neil

3

펄 5 -lp , 24 바이트

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

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

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

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

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

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

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


3

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


그래, 롤은 여전히 ​​골프를하고있어 감사합니다 @ Adám. 감사합니다.
무하마드 살만

3
나는 int도전의 정의에 따라 "예약 된 단어" 라고 생각하지 않습니다 . intJavaScript 에서 변수 이름을 지정할 수 있습니다 .
kamoroso94

1
잘 기억한다면 intECMAScript 사양에 의해 가능한 미래 키워드로 예약되어 있습니다.
BNilsou

substr대신에 slice?
l4m2

3

루비 , 22 바이트

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

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

@ benj2240 덕분에 -2 바이트


확인. 내 답변을 업데이트하겠습니다.

String#[]-2 바이트에 사용할 수있는 두 개의 인수 과부하가 있습니다.[0,n]
benj2240

p예약어가 아니며 &작동해야합니다.
Asone Tuhid

@AsoneTuhid : p도 인쇄에 사용되지만 당신은 아마 그것을 대체 할 수 있습니다. 감사합니다

@ I'mnoone 그렇습니다. 그러나 그것은 메소드입니다. 재정의하면 변수 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 

( [ := :: "단, 예약어 4 개만 출력 합니다.)


이 함수에 이름을 부여하면 5 바이트가 추가됩니다.

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

2

뇌 - 플랙 , (122) 120 바이트

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

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

예제 언어를 작성하기 위해 내 역할을 수행합니다. ()[]<>}{8 이하의 숫자에 대해 앞면에서 튀어 나오는 출력 .


2

단항, 6072204020736072426436 378380483266268 바이트

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

Jo King 님, 감사합니다. 99.999993768646738908474177860631 % 감소


1
바이트 번호가 정확합니까?
mdahmoune

@mdahmoune 생각합니다
l4m2

!! 그것은 매우 큽니다
mdahmoune

@mdahmoune Unary의 경우 실제로는 ' 소형 '입니다. ;) PPCG에서 다른 단항 또는 언어 답변을 검색하면 이것보다 훨씬 큰 것이 있습니다.
Kevin Cruijssen

합니까 ,[.-]Lenguage에서의 요구 사항에 맞는?
l4m2


2

루비, 71 68 바이트

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

가장 짧은 접근 방식은 아니지만 게시하기에는 너무 재미 있습니다. 할당 할 수없는 최대 3 개의 소문자 문자열을 프로그래밍 방식으로 찾습니다. 정확히 10이 있습니다 : ["do", "if", "in", "or", "and", "def", "end", "for", "nil", "not"].

편집 : Asone Tuhid 덕분에 3 바이트가 절약되었습니다.


1
니스 의 수퍼 클래스이므로 구조하여 3 바이트절약 할 수 있습니다.ObjectException
Asone Tuhid

2

Japt , 3 바이트

Japt의 각 개별 문자가 메소드 이름 인 문자열을 리턴합니다.

;îC

시도 해봐

;C는 소문자 알파벳이며 î길이가 입력과 같아 질 때까지 반복합니다.


@Downvoter, 댓글 남기기를 잊었습니다! : \
Shaggy

/ : 그 사람이 모든 대답을 다운 투표 것 같다
mdahmoune

2

치킨 , 7 바이트

chicken

심각한 대답은 아닙니다. 그러나 여기에 있어야합니다.


2

R , 76 62 60 57 바이트

MickyT 덕분에 12 바이트 절약

snoram 덕분에 5 바이트 절약

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

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

R 에는 예약어 가 많지 않지만 인코딩하기 가장 짧은 단어 중 하나입니다. 여기에는 9 개만 있지만 입력이 있으면 10누락 된 값 NA이 목록 끝에 추가되어 인쇄됩니다.


약간의 작은 비용 절감
MickyT

@MickyT 감사합니다! 다른 몇 바이트 "NaN"0/0또는 NaN다른 바이트로 저장할 수 있다는 것을 깨달았습니다 .
Giuseppe

교체 1/0,0/0와 함께 1:0/0.
snoram

2
@snoram 아, 훌륭합니다! 그리고 PPCG에 오신 것을 환영합니다! 나는 당신의 첫 번째 답변을 기대하고 있습니다! R에서의 골프 팁을 보시고 채팅에 저를 핑 하셔도됩니다! :-)
Giuseppe

감사! @ 주세페 btw. 1[1:2]반환 [1] 1 NA=> NA원래 벡터에서 건너 뛸 수 있습니다 ... 사용자 입력이 10이면 끝에 추가됩니다.
snoram


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

Brain-Flak , 118 바이트

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

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

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

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

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

# Display alternate stack
<>

이것은 9와 10에 여분의 null 바이트를 출력합니다
Jo King



1

하스켈 , 22 바이트

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

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

키워드 오류를 발견 한 @Angs에게 감사합니다.

명시 적으로 문자열을 정의하는 대신 문자열을 생성하여 이것이 더 짧을 수 있다고 생각했지만 Haskell 키워드 인 10 개의 연속 ASCII 문자 범위를 찾을 수 없었습니다 (언어 확장 키워드를 세면 가까운 문자를 찾았습니다). 하나가 있으면이를 %시작 바이트로 바꾸어 15 바이트로 줄일 수 있습니다 .

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

상징적 키워드가없는 경우 :

하스켈 , 58 바이트

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

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


!예를 들어 let a!b=a+b괜찮습니다
Angs

죄송합니다. as유효한 식별자이기도 하므로 두 부분을 모두 수정했습니다 .
user9549915

.예약되지 않았습니다-전주곡 +등 의 다른 연산자는 없습니다 – 참조
Angs

1

C (gcc) , 62 60 바이트

GPS 덕분에 -2

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 네, 그렇지 않으면 쓰레기 문자를 쓸 수 있습니다.
gastropner

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"문자를 인쇄 한 다음 "error : outgoing passengers found"라는 오류가 표시됩니다.

문자열에는 다음이 포함됩니다.

  1. [, ]계획을 선언하는 데 사용되는 문자
  2. a "승객 픽업 ..."구문에 사용됩니다.
  3. 구문 문자를 분리하는 데 필요한 공백 문자
  4. lr, 짧은 설정하는 방법 드라이버를 얘기하는 데 사용, "왼쪽"과 "오른쪽"합니다.
  5. n, s, e,와 w, 4 개 방향.

나는 그 모든 것이 하나의 문자 키워드로 간주됩니다. 언 골프 드 :

"[]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 바이트

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

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

1 바이트 동사 10 개 중 일부를 제공합니다.


1

배쉬 및 쉘 유틸리티 20 바이트

compgen -b|head -$1

이를 실행 권한 (내장)으로 파일에 저장하고 다음과 같이 bash에서 실행할 수 있습니다.

$ ./builtins 5
 .
 : 
 [
 alias 
 bg  

첫 번째 N bash 내장을 출력합니다.

bash가 아닌 다른 쉘을 실행하는 경우 + 12b를 위해 파일 시작 부분에 shebang #! / bin / bash 줄이 필요합니다


1

Q 기본, 60 바이트

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

이 답변은 질문의 정신에 가장 잘 맞는다고 생각합니다. 사이에 공백이있는 알파벳 예약 키워드를 출력합니다. QBasic에서는 기호 연산자가 실제로 "단어"로 계산되지 않는다고 생각하지만, 완전성을 위해 연산자를 사용한 30 바이트 답변이 있습니다 .

INPUT n
?LEFT$("+-*/\^=><?",n)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.