Создать программу Parrot


15

Учитывая ввод, выводим этот ввод бесконечно новую строку.

На входе будет строка, состоящая только из печатаемых символов ASCII ( 0x20-0x7E) и новых строк ( 0x0A).

Если input имеет длину 0, бесконечно выводите символы новой строки.

Это поэтому побеждает меньше байтов на каждом языке !




@VoteToClose Я знал, что отвечал на это раньше ..
L3viathan

Microsoft, 1 Steve Ballmer - разработчики, разработчики, разработчики, разработчики, ...
sergiol

Ответы:


13

блин, 10 минут позже! но это не выводит новые строки как новые строки.
phil294

извините, я не имел в виду yes-newlines, но любые символы новой строки, которые могут содержаться во входных данных, вместо этого выводятся как \n. вид зависит от того, как ты читаешь вопрос: D
phil294

@Blauhirn О, я неправильно понял эту часть: /. Вы должны назвать это, ./script $'Hello\n World'чтобы включить реальные переводы строк. На TIO вы можете просто добавить новую строку в аргумент командной строки
овс

1
Нужны ли цитаты? yes $1у меня отлично работает
DrnglVrgs

2
@DrnglVrgs это не работает для меня для пустого ввода
ovs

9

Почему не делаешь [I,?
FrodCube

@FrodCube: потому что, к сожалению, это не работает с пустым вводом :(
Emigna

@FrodCube: На самом деле, в вопросе указывается ввод длины 0, а не пустой ввод, поэтому я могу уменьшить это :)
Emigna

1
@FrodCube: Да, это действительно новая функция в 05AB1E. Я уверен, что в конце концов Ому это тоже достанется.
Emigna

10
[=также работает и является смайликом; улыбка - единственное преимущество, лол.
Волшебная Урна Осьминога


5

Ом , 3 байта

∞┼,

Попробуйте онлайн!

Он не работает с пустым вводом, потому что Ohm плох при обработке ввода по сравнению с другими языками, но вы можете ввести "".

объяснение

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

Это выглядит круто ... Не могли бы вы объяснить это: D
Beta Decay

@BetaDecay сделано!
FrodCube

1
К вашему сведению, Ohm v2 (надеюсь, скоро появится) будет намного лучше обрабатывать ввод, чем раньше!
Ник Клиффорд

@NickClifford круто! Я с нетерпением жду, что! Мне нравится ваш язык
FrodCube

1
Оооо ... Ома, как 05AB1E с разными командами ?! Яростно начинает читать страницы GitHub
Волшебная Урна Осьминога

5

сед, 5

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

Метки без имени - недокументированная «особенность» в sed, которая работает с версией 4.2.2, но может не работать в будущих версиях.





4

V , 2 байта

òÙ

Вы не можете попробовать это онлайн по понятным причинам.

ò    'Recursively
 Ù   'Duplicate the current line downwards

TIO фактически работает в течение 60 секунд, затем завершается и печатает STDOUT до тех пор, пока точка завершения не будет усечена до первых 128 КБ.
Волшебная Урна Осьминога

1
В Vтак как выход его внутри на nvim сессии, и не печатается на STDOUT , пока он не закончит, TIO убивает сессию и ничего не видит на STDOUT. Я не знал о том, что вы сказали, но, к сожалению, это не исправляет V
nmjcman101

1
Аааа ... К сожалению, я забыл свойства V, я использовал его только один раз безуспешно.
Волшебная Урна Осьминога


3

AutoHotkey , 20 байт

OP не уточнил, как должен происходить вывод, сказал только, что это должно происходить бесконечно с новой строкой после него. AHK не был приспособлен для взаимодействия с cmd. Таким образом, вывод происходит несколько раз в позиции ToolTipмыши:

подсказка

loop
tooltip,%1%`n`n

Мне нравится loopособенность AHK . loopповторяет следующий блок навсегда,loop, 10 повторил бы это 10 раз. Иногда я пропускаю эту функцию в других языках, таких как Python.

Экранирующим символом в AutoHotkey является `(поэтому с обратными слешами в путях Windows проблем нет). По какой-то причине завершающий символ новой строки игнорируется, поэтому он необходим дважды. ( trayTipвозможно, нет этой "ошибки", но я не могу проверить ее, потому что работает с вином)

старый ответ:

loop
msgbox,%1%

Я только что понял, что OP, вероятно, не понравится это решение, вывод происходит при взаимодействии с пользователем и не включает переводы строки. Я буду искать другой путь.


1
Ну, у вас есть мой голос за креативное решение
Skidsdev

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
]

Результат:

введите описание изображения здесь


2

Python 2 , 25 байт

s=input()
while 1:print s

Попробуйте онлайн!

Предполагается, что входными данными будут литералы Python (кавычки для строки, квадратные скобки или круглые скобки с разделенными запятыми элементами для списка / кортежа и т. Д.)

Python 3 будет иметь +1 байт, потому что printявляется функцией, но также может выполнять необработанный ввод без 4-байтового штрафа для raw_input()Python 2.





2

Braingolf , 14 12 байт

#
V[R!&@v1+]

Попробуйте онлайн!

-2 байта благодаря полностью человеческому

объяснение

#\nV[R!&@v1+]  Implicit input of string as charcodes
#\n            Push charcode of newline
   V           Create stack2
    [R...v1+]  While loop, runs endlessly
      !&@      Print entire stack1 as chars without popping

2

C, 24 байта

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

В основном это рекурсивная функция, которая выводит строку перед повторным вызовом. Это мой второй пост на Codegolf, так что будьте милы: p


2

Cubix , 6 байтов

AN/qvo

Проверьте это здесь

  A
N / q v
  o
  • N/A Нажмите Newline (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

Java 8, 34 байта

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

Удивлен, но пока не было ответа на Java.

Попробуй это здесь. (Подождите 60 секунд, пока он истечет.)


вам не нужно ждать, пока он истечет, он достигнет максимального выходного буфера 128 КБ гораздо быстрее, чем это: P
Skidsdev

@Mayube Возможно, но он все еще работает в Real time: 60.008 sсоответствии с разделом Debug, прежде чем выводит результат (и выдает два предупреждения, превышение 60-секундного ограничения и превышение 128 КБ).
Кевин Круйссен

1
TIO также кэширует результаты, поэтому, как только он будет запущен и достигнет ограничения по времени, выходные данные будут кэшированы и будут просто переданы другим, кто его запускает без фактической перекомпиляции и запуска кода.
Skidsdev

@Mayube Правда. Я не знал, что это относится и к другим. Думал, это был локальный кеш. В этом случае вы можете проигнорировать « (подождите 60 секунд, пока оно истечет.) » В моем ответе. :) Но если вы проверите настройку «отключить кэш вывода», вы увидите, что это займет ~ 60 секунд.
Кевин Круйссен

1

Pyth, 2 байта

#

К сожалению я не могу удалить Q:(

Вам нужно запустить из командной строки, как это, так что это конкурирует:

python3 pyth.py -c "#
"

Переводчик тоже исправлен.


1

> <> , 16 байт

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

Попробуйте онлайн!

Как упоминалось в комментариях ниже, моя первая попытка, возможно, неправильно поняла вопрос, поэтому было принято более новое 16-байтовое решение, я оставил оригинал ниже, чтобы люди могли видеть.

> <> , 13 байт

<ov!?+1:i
oa<

Попробуйте онлайн!


Я думаю, что была проблема с брекетингом: этот код возвращает «тот ввод, за которым следует (бесконечный перевод строки)», в то время как большинство других ответов дают «(ввод, за которым следует перевод строки) бесконечно»…
Не дерево

@Notatree, спасибо за упоминание этого, я обновил свой ответ, чтобы уважать ваш комментарий :)
Teal

Хорошо, моя лучшая попытка была 17 байтов!
Не дерево

@Notatree, я изменил чек в первой строке с 1 + ?! v на 0)? V, который сохранил байт, каково было ваше решение, было бы неплохо увидеть больше> <> ответов :) - я тоже считаю, что с некоторыми Изящные зеркала, вы можете удалить инструкции перехода, но вы еще не поняли.
Тил пеликан

1
@Notatree, вы тоже были очень близки к 16 байтам, измените вторую строку на \ ~, а затем переместите последнюю строку в диапазоне от 1 до o> {: и вы бы это сделали. прыжок просто для того, чтобы
Тил Пеликан


1

Perl 5 , 27 байт

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

Попробуйте онлайн!


всегда будет вводиться, просто это может быть пустая строка, так что вы должны это сделатьwhile(1){print"$ARGV[0]\n"}
Skidsdev

@Mayube - спасибо, обновленный ответ.
tale852150

Также добро пожаловать в PPCG! Я исправил форматирование в вашем ответе для вас, в будущем я полностью рекомендую использовать Попробовать онлайн (ссылка в отредактированном ответе), поскольку это не только облегчает тестирование, но и может дать вам полностью отформатированный ответ ppcg на сообщение
Skidsdev

@Mayube - спасибо, рад быть здесь ...
tale852150

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.