앵무새 프로그램 만들기


15

입력이 주어지면 그 입력 다음에 줄 바꿈이 끝없이 출력됩니다.

입력은 인쇄 가능한 ASCII 문자 ( 0x20-0x7E)와 줄 바꿈 ( 0x0A) 만으로 구성된 문자열 입니다.

입력이 길이 0이면 끝없이 줄 바꿈을 출력합니다.

이것은 이므로 각 언어에서 가장 적은 바이트 이깁니다!




@VoteToClose 내가 알고 내가 .. 전에이 대답했습니다
L3viathan

마이크로 소프트, 스티브 발머 (Steve Ballmer)개발자, 개발자, 개발자, 개발자, ...
sergiol

답변:


13

젠장, 10 분 늦었 어! 그러나 이것은 개행을 개행으로 인쇄하지 않습니다.
phil294

죄송합니다,- yes줄 바꿈을 의미 하지는 않지만 입력에 포함될 수있는 줄 바꿈은 대신로 인쇄됩니다 \n. 질문을 읽는 방법에 따라 다릅니다. : D
phil294

@Blauhirn 아, 나는이 부분을 오해했다 : /. ./script $'Hello\n World'실제 줄 바꿈을 포함하려면 이것을 호출해야합니다 . TIO에 당신은 단지 명령 행 인수에 줄 바꿈을 추가 할 수 있습니다
OVS

1
인용이 필요합니까? yes $1나를 위해 잘 작동
DrnglVrgs

2
@DrnglVrgs 이것은 빈 입력에 대해 작동하지 않습니다
ovs

9

왜 안해 [I,?
FrodCube 2016 년

@FrodCube : 불행히도 빈 입력으로는 작동하지 않기 때문에 :(
Emigna

@FrodCube : 실제로, 질문은 길이 0의 입력을 나타내며 빈 입력이 아니므로 이것을 줄일 수 있습니다 :)
Emigna

1
@FrodCube : 네, 실제로 05AB1E의 새로운 기능입니다. 옴도 결국 그것을 얻을 것이라고 확신합니다.
Emigna

10
[=또한 작동하고 웃는 얼굴입니다. 미소는 유일한 혜택 롤입니다.
매직 문어 Urn


5

, 3 바이트

∞┼,

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

Ohm은 다른 언어에 비해 입력 처리가 좋지 않기 때문에 빈 입력으로는 작동하지 않지만 ""를 입력 할 수 있습니다.

설명

∞     Infinite loop next code (until ";" or end of line)
 ┼    Get first input
  ,   Println

멋지다 ... 설명
Beta Decay

@BetaDecay 완료!
FrodCube

1
참고로 Ohm v2 (곧 출시 예정)는 이전보다 훨씬 더 나은 입력 처리 기능을 제공합니다!
Nick Clifford

@NickClifford 쿨! 나는 그것을 기대하고있다! 나는 당신의 언어를 좋아합니다
FrodCube

1
Oooo ... Ohm은 다른 명령을 가진 05AB1E와 비슷합니까?! GitHub 페이지를 열렬히 읽기 시작
Magic Octopus Urn

5

sed, 5

:      # label (unnamed) 
p      # print the pattern space
b      # branch back to the label

명명되지 않은 레이블은 버전 4.2.2에서 작동하지만 이후 버전에서는 작동하지 않을 수있는 sed의 문서화되지 않은 "기능"입니다.





4

V , 2 바이트

òÙ

명백한 이유로 온라인으로 시도 할 수 없습니다.

ò    'Recursively
 Ù   'Duplicate the current line downwards

TIO는 실제로 60 초 동안 실행 된 다음 종료 점이 첫 번째 128KiB로 잘릴 때까지 STDOUT을 종료하고 인쇄합니다.
매직 문어 Urn

1
에서 V가 완료 될 때까지 nvim 세션의 내부 출력이, 그리고 STDOUT에 출력되지 않기 때문에, TIO 세션을 죽이고 STDOUT에 아무것도 볼 수 없습니다. 나는 당신이 무슨 말을했는지 몰랐지만 불행히도 V를 고치지 않습니다
nmjcman101

1
아아 ... 불행한 일이다. 나는 V의 속성을 잊어 버렸다. 나는 그것을 한 번만 실패했다.
매직 문어 Urn

3

루비, 18 17 12 + 2 = 14 바이트

-n플래그로 실행하십시오 .

loop{$><<$_}

편집 : -n플래그에 대한 @sethrin 감사합니다 !


-n플래그를 사용 하고을 건너 뜁니다 gets.
canhascodez 2016 년

@sethrin 좋은 하나! 나는이 깃발에 대해 몰랐다!
피터 Lenkefi

3

오토 핫키 , 20 바이트

OP는 결과가 어떻게 발생해야 하는지를 명시하지 않았으며 , 그 뒤에 줄 바꿈이 끝없이 발생해야한다고 말했다. AHK는 cmd 상호 작용에 맞게 조정되지 않았습니다. 따라서 출력 ToolTip은 마우스 위치에서 반복적으로 발생합니다 .

tooltip

loop
tooltip,%1%`n`n

AHK의 loop기능이 마음에 듭니다 . loop다음 블록을 영원히 loop, 10반복하면 10 번 반복합니다. 때로는 파이썬과 같은 다른 언어 에서이 기능이 누락되었습니다.

AutoHotkey의 이스케이프 문자 `는 Windows 경로의 백 슬래시에 문제가없는 것입니다. 어떤 이유로 후행 줄 바꿈이 무시되므로 두 번 필요합니다. ( trayTip이 "버그"가 없을 수도 있지만 와인으로 실행하기 때문에 테스트 할 수 없습니다)

오래된 답변 :

loop
msgbox,%1%

방금 OP 가이 솔루션을 좋아하지 않을 것이라는 것을 깨달았습니다. 출력은 사용자 상호 작용으로 발생하며 줄 바꿈이 포함되어 있지 않습니다. 다른 방법을 찾아 보겠습니다.


1
글쎄, 당신은 창조적 인 솔루션에 대한
공감대를 얻었습니다

3

LibreLogo , 33 바이트

암호:

x=input " repeat [ label x bk 9 ]

설명:

x = input "               ; Input Stored in x as String
repeat [                  ; Endless Loop
    label x               ; Print x in Current Position
    bk 9                  ; Move Back 9 pt
]

결과:

enter image description here


2

파이썬 2 , 25 바이트

s=input()
while 1:print s

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

입력은 Python 리터럴 (문자열, 대괄호 또는 목록 / 튜플 등의 쉼표로 구분 된 항목이있는 괄호로 인용)이어야합니다.

파이썬 3은 print함수 이기 때문에 +1 바이트 이지만 raw_input()파이썬 2에서 4 바이트 페널티없이 원시 입력을 수행 할 수도 있습니다 .






2

C, 24 바이트

f(char*s){puts(s),f(s);}

기본적으로 자신을 다시 호출하기 전에 문자열을 출력하는 재귀 함수입니다. codegolf에 대한 두 번째 게시물이므로 좋을 것입니다 : p


2

Cubix , 6 바이트

AN/qvo

여기에서 테스트

  A
N / q v
  o
  • N/A 줄 바꿈 (10)을 밀어 스택에 입력
  • v 루프로 리디렉션
  • o/q 문자를 출력하고 그것을 스택의 맨 아래로 계속 밀어주는 루프

스택에서 EOI (-1) 표시기를 제거하려고했지만 출력에 영향을 미치지 않는 것으로 보이므로 바이트를 절약 할 수 있습니다.





1

C, 26 바이트

f(char*s){for(;;)puts(s);}

함수는, f즉 매개 변수로 C 스타일의 문자열을 사용, s. 함수 본문이 반복적으로 반복되어 문자열을 라이브러리 함수로 전달puts 는 문자열을 후행 줄 바꿈과 함께 표준 출력 (stdout)으로 출력합니다.

아주 간단한 것들. 여기서 유일한 해킹은 반환 값으로 default-int를 사용하고 실제로 값을 반환하지는 않습니다. 함수가 절대로 리턴하지 않기 때문에 (이것은 영원히 계속 인쇄합니다)이 경우에는 중요하지 않습니다!

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


f(char*s){puts(s);f(s);}몇 가지 절약
nmjcman101


1

자바 8, 34 바이트

s->{for(;;System.out.println(s));}

아직 Java 답변이 없다는 것에 놀랐습니다.

여기에서 시도하십시오. 시간이 초과 될 때까지 60 초 동안 기다립니다.


시간이 초과 될 때까지 기다릴 필요가 없습니다. 최대 출력 버퍼는 128kb보다 훨씬 빠릅니다. P
Skidsdev

@Mayube 아마도 Real time: 60.008 s결과를 출력하기 전에 디버그 섹션에 따라 여전히 실행 중입니다 (60 초 제한 초과 128kb 초과 경고 두 개를 제공함).
Kevin Cruijssen

1
TIO는 또한 결과를 캐시하므로, 일단 실행되고 시간 제한에 도달하면 출력이 캐시되고 실제로 코드를 다시 컴파일하고 실행하지 않고 결과를 실행하는 다른 사람에게 제공됩니다.
Skidsdev

@Mayube 사실. 나는 이것이 다른 사람들에게도 적용되는지 몰랐다. 로컬 캐시라고 생각했습니다. 이 경우 내 대답에서 "( 제한 시간이 초과 될 때까지 60 초 기다립니다. " )를 무시할 수 있습니다 . :) 그러나 "출력 캐시 비활성화"설정을 확인하면 ~ 60 초가 소요됩니다.
Kevin Cruijssen

1

Pyth, 2 바이트

#

불행히도 나는 제거 할 수 없습니다 Q:(

다음과 같이 명령 행에서 실행해야합니다.

python3 pyth.py -c "#
"

통역사도 수정되었습니다.


1

> <> , 16 바이트

i:0(?v
:o71.>~a{

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

아래의 주석에서 언급했듯이 첫 번째 시도는 질문을 오해했을 수 있으므로 최신 16 바이트 솔루션이 만들어 졌으므로 사람들이 볼 수 있도록 원본을 아래에 남겨 두었습니다.

> <> , 13 바이트

<ov!?+1:i
oa<

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


브라케팅 문제가 있다고 생각합니다.이 코드는 "입력 뒤에 (개행은 끝없이)"를 반환하는 반면, 대부분의 다른 답변은 "(입력 뒤에 개행은 끝없이)"라고 말합니다.
트리가 아닙니다.

@Notatree, 이것을 언급 해 주셔서 감사합니다. 귀하의 의견을 존중하기 위해 답변을 업데이트했습니다 :)
Teal pelican

내 최선의 시도는 17 바이트였습니다!
나무가 아닙니다

@ Notatree, 첫 번째 줄의 검사를 1 + ?! v에서 0)?으로 변경했습니다 .v는 바이트를 저장했습니다. 솔루션은 무엇입니까? >>>> :> 멋진 거울 당신은 점프 명령을 제거 할 수 있지만 아직 그것을 알아 내지 못했습니다.
청록 펠리컨

1
@Notatree, 당신은 실제로 16 바이트에 가깝고 두 번째 줄을 a \ ~로 변경 한 다음 마지막 줄을 1 ~ o> {:으로 이동하면 만들었습니다. 점프는 단지 라인을 가로 질러 여분의 거울을 잘라내는 것이지만 당신도 잘 작동합니다 :)
Teal pelican


1

펄 5 , 27 바이트

while(1){print"$ARGV[0]\n"}

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


입력은 항상 주어질 것입니다, 그것은 단지 빈 문자열 일 것입니다, 그래서 당신은 할 수 있어야합니다while(1){print"$ARGV[0]\n"}
Skidsdev

@Mayube-thx, 업데이트 된 답변.
tale852150

ppcg에 오신 것을 환영합니다! 나는 내가 완전히 그것뿐만 아니라 쉬운 방법을 테스트 할 수로 (편집 된 대답 연결) 온라인으로보십시오 사용하는 것이 좋습니다,하지만 당신이 게시물에 완전히 포맷 ppcg의 답을 줄 수있는 미래에 당신을 위해 당신의 대답에 서식 고정
Skidsdev

@Mayube-thx, 여기 와서 기쁘다 ...
tale852150

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.