Лимерик Hello World [закрыто]


28

Рифмованная программа, которую вы пишете.
Попытка выиграть бой.
Для победы в конкурсе и голосования.
Она должна вычислить «Hello World».
Затем напечатайте ее очень вежливо.

Самое популярное стихотворение победит.

Требования следующие:

  • Стихотворение должно быть из 5 строк с рифмами AABBA
  • Он может печатать все что угодно, но вывод должен содержать «hello world» (верхний / нижний регистр не имеет значения, кавычки не включены в вывод)
  • Символы читаются вслух. Например, четвертая строка выше читается: она должна вычислять цитату привет мир цитата
  • Опубликуйте свой код под другим предварительным просмотром кода, версию вашего кода, доступную для чтения, для устранения неоднозначности специальных символов.

Исключены стихи:

  • включая мертвый код или символы, которые можно безопасно удалить, не изменяя рифмы или функциональность
  • Использование комментариев как способ рифмовать (за исключением случаев, когда есть веская причина для этого)
  • используя тот же символ в конце фразы для рифмы.

В случае ничьей победят программы, выдающие стихи. Если все еще есть ничья, победят более короткие программы.

Новые строки не в счет. пробелы, табуляции и новые строки не читаются вслух. Например, «Привет, мир!» будет читаться вслух "двойные кавычки привет запятая мир восклицательный знак двойная кавычка".


В целом потребность программы будет из пяти линий? Разве ответ не может быть просто фрагментом необходимых команд? Исключая объявления класса / функции и все?
mikhailcazi

Да, вся программа должна состоять из пяти строк. Попробуйте распространить ваши определения и включает в себя вдоль линий. У большинства PL есть способ включить несколько предложений в одну строку с точкой с запятой или подобным.
Микаэль Майер

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

Это правда. Я только хочу, чтобы программа была лимерикой.
Микаэль Майер

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

Ответы:


86

Пробелы

Рифмованная программа, которую я написал  	   
	
     		  	 	
	
это стихотворение из пробела и раздувать		 		  
	
     		 		  
	
потому что переводы строк не учитываются  		 				
	
     	     
	
несмотря на количество   	 	 			
	
     		 				
	
так заслуживает вашего искреннего upvote 			  	 
	
     		 		  
	
     		  	  
	
  


Wikipedia: Пробелы (язык программирования)
Онлайн переводчик для проверки ответа

Выход:

Привет, мир

3
Это как-то напоминает мне Битлз « Соберитесь вместе» .
user12205

7
Это, конечно, "над мной"
Sideshow Bob

6
Исключено: Использование комментариев как способ рифмовать
не то, что Чарльз

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

3
@ MikaëlMayer Я думаю, ты должен соблюдать правила. Я подозреваю, что большинство этих голосов в основном от людей, которые только открывают для себя очарование Whitespace. Лично мне больше интересно видеть ответы в духе реальной проблемы рифмованного кода.
Джейсон С

60

HTML

<html>
<body><span
    class="poem"
    > Hello World! I'm a goat
</span></body></html><!-- Pecan -->

Мне нужно было немного либеральнее с произношением последней строки. Я надеюсь, что это не нарушает правила. Это также не на 100% допустимо для W3C, но работает в большинстве браузеров.

<!--
less than aich tee em el greater than,
less than body not equal to span,
class equals quote poem end quote,
greater than Hello World Bang I'm a goat
close span close body close root comment pecan
-->

4
+1 для умных повторных произношений ... + комментарий "Взрыв, я козел" ...
WallyWest

5
+1 за чтение ><как «не равный»
Джон Дворжак

3
Новичок - стихотворение, которое он написал. Надеясь получить всего один голос. А теперь в этой гонке. Он на втором месте!
cobaltduck

26

Javascript

Я знаю, что это не в правилах, но я не мог устоять

var girl, attractive = true;    // There once was a beautiful girl
var boy; girl = ' World';       // And a boy who thought she was his world
boy = 'Hello' + girl;           // When the boy said hello
if (boy != attractive)          // She said 'my goodness no!'
    alert(window['boy']);       // And the boy through the window she hurled.

4
Творческий и гениальный.
Деймон Суэйн,

3
Не было необходимости переопределять девушку на второй линии, но я все еще люблю ее.
Howderek

23

питон

a = [
'hello world']
print ''.\
join(a##
)

или,

a equals open square bracket
quote hello world quote close square bracket
print quote quote dot backslash
join paren a hash hash
and finally close unmatched bracket

Я добровольно подписываюсь на дополнительные правила, потому что я думаю (1), что у лимериков должен быть хороший метр и (2), что у лучших есть сюрприз в последней строке.

(С окончанием, интерпретируемым на простом английском языке, я полагаю, что вы можете решить для себя, какой тип скобок не имеет аналогов. Что касается требования отсутствия мертвого кода, то ничего там не может быть удалено без изменения хотя бы одного из рифмы, ритма или вывода ).


Можно удалить хеш без изменения функциональности или рифмы. Это действительно меняет ритм, как вы заявляете, но условия вопроса здесь вполне ясны, я думаю.
Keba

1
Поскольку природа поэзии заключается в нарушении правил, я могу жить с ней. Тем не менее, мне не ясно, что измеритель в любом случае не является частью концепции OP.
Сайд-шоу Боб

3
Мех. Рифмирующая «скобка» сама с собой трижды просто ленивая, лайкринг
MikeTheLiar,

Да, я чувствую себя плохо об этом. Но это разные символы для каждой рифмы, как того требует OP.
Сайд-шоу Боб

14

Haskell

Принимая некоторые вольности с произношением определенных символов, то есть строительство кортежа (,,) и применения функции ($).

main = something that we wrote
     where something x y z = bloat
           bloat = flip ($) m putStrLn
           (that,we,wrote) = undefined
           m = "hello world"

Чтение должно быть:

main is something that we wrote
where something x y z is bloat
bloat is flip apply m putStrLine
Tuple that we wrote is undefined
misquote hello world quote.

12

JavaScript

if (!!1) // and
  alert('&#10084; &#10084; the world') // and
Burn = $.cache
return 1 > his_parts.the_sum

Если в скобках следует восклицательный знак

и предупредить мир в скобках после сущности сердца

разрезать, разрезать и сжечь

равняется наличным, деньги, возврат

один больше, чем сумма его частей


3
Я не думаю, что знаю кого-то, кто произносит «$» как «наличные деньги», хотя я признаю, что не писал JavaScript.
Карл Виттофт

1
+1 Мне нравится нелитеральная транскрипция, и «сердца сущностей» довольно забавные, несмотря на свободу разрыва строки.
Джейсон С

8

Бейсик

Точнее, Бурундук Basic . Правила синтаксиса были расширены почти до предела, поэтому может быть невозможно выполнить это на других диалектах без изменений.

Источник:

read hi$, u$, q
print hi$ " world how are you
  print "Or as they say
  print u$ q "day
data Hello, How R U, 2

Версия для чтения:

read hi string comma u string comma q
print hi string quote world how are you
  print quote Or as they say
  print u string q quote day
data Hello comma How R U comma 2

Заметки:

  • В исходном коде нет номеров строк, но он все равно будет загружаться и работать без проблем (см. Ниже).
  • Символ $читается как «строка» в контексте основных программ (см., Например, эту страницу Википедии ).

И вот доказательство того, что оно действительно работает:

скриншот программы, работающей в Mac OS X


Как ты сделал этот подарок?
Картик

@Kartik Я использовал приложение под названием IShowU
брезгливый

6

удар

Поскольку ответ должен содержать только фразу «Hello World», самое простое решение должно быть:

echo A rhyming program you write
echo Attempting to win the fight
echo For winning the contest and vote
echo It must compute "Hello World"
echo Then print it very polite

8
Законно в рамках правил, но этот ответ не шутит на вечеринках. meta.codegolf.stackexchange.com/a/1063/3363
Джонатан Ван Матре,

1
@JonathanVanMatre Это признак того, что проблема в вопросе. Все, что отличается от прямой печати вывода, будет излишним. Кроме того, первое «исключенное» правило запрещает что-либо более творческое, даже имена переменных с более чем одним символом и идентификатором кода, это гольф-код, оцениваемый как соревнование популярности, получая худшее из двух.
Виктор Стафуса

4
@Timtech: это голосование и цитата.
Keba

2
Рассматривали ли вы вопрос об улучшении? / Это могло бы произвести лучшее впечатление. / Хотя ущерб нанесен / Не было бы веселее / Сделать настоящую кондитерскую кодировку? :)
Джонатан Ван Матре

1
@Victor, «символы, которые можно безопасно удалить», по-видимому, подразумевают, что вы не можете использовать имена многосимвольных переменных, кроме случаев, когда они являются частью рифмы. Это проблематично.
Джонатан Ван Матре

6

Джава

public static void main(String[] boat
){ int i = 1.0f
  ;if(i<2
  )System.out.println
("Hello world");} //hello world wrote


public static void main paren String arr boat
paren brace int i is one-point-oh float
sem-col if paren i is less than two
paren system dot out dot print line new //for some reason it's println, not printnl
paren quote hello world quote paren sem-col brace slash-slash hello world wrote

Обратите внимание, что комментарии не являются обязательными в Java


В b"boat" нужно удалить ("oat" является допустимым именем переменной и подходит)
pppery

6

Рубин

comma = ""<<44
print "Hello" or
more = ""<<32
print comma if true
puts("World!") unless print more

Live: https://ideone.com/sirBBc

Произносится следующим образом (с ударными слогами в верхнем регистре)

comma Equals quote-QUOTE cons four-FOUR
print QUOTE hello END quote OR
more equals QUOTE quote cons three-TWO  # ok, that was squished
print COMma if TRUE
puts QUOTE world QUOTE UNless print MORE

mИ eв оба экземпляра moreнеобходимо удалить ( oreявляется допустимым слово в этой позиции тоже)
pppery

Хм, я не думаю, что я могу по закону рифмовать orс или orили ore.
гистократ

Это был бы не единственный пример лимерика с дублирующимися словами
pppery

4

Haskell

main = print . repeat
  $ head $ lines . init
     $ "Hello \
       \World!" #
         Just where (#) = const . id

Основное равняется печатному стоп-повтору
Полная остановка линии доллара.
Долларовая кавычка привет обратная косая черта
Back slashworld Взрывная кавычка Хэш
Только где хеш, заключенный в скобки, равен постоянному, остановите его!

Надеюсь, это хорошо описывает реальное поведение программы.


2

TeX

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

Вы можете смело превратить его в ответ, который соответствует правилам, избавившись от \itкаждого не алфавитного, непробельного символа, за исключением последнего \bye(читайте вслух как обратный слеш ) и, возможно, первого !(читайте вслух как удар ).

A \TeX\ program I think would comply,

And I'll tell you the reason for why:

``Hello world!'' tells the setter:

{\it ``Print each subsequent letter!''}

And we terminate with \bye.

Вы должны удалить запятые и символы в конце каждого стиха, чтобы они правильно рифмулись. Или поместите их в очередь впоследствии.
Микаэль Майер

@ MikaëlMayer: см. Замечание в моем втором абзаце.
Ниль де Бодрап,

2

Brainf * ск

Хорошо, упрекни меня за многочисленные нарушения правил. Но я не мог не сделать это.

++++++++[>+++++++++<-
]>.---.$#
+++++++..+
++.++++++++
.--------.+++.------.--------.

И вывод (первое нарушение многих: пробела нет):

HELLOWORLD

Попробуйте это здесь: http://www.iamcal.com/misc/bf_debug/

Чтение этого:

Eight plus left more nine plus less dash
Right more dot three dash dot cash hash
Sevén plus dot dot plus
Plus plus dot eight plus
Dot eight dash dot three plus dot six dash dot eight dash.
  • Обратите внимание, что последняя точка в программе помещается как точка в конце лимерика :) [второе нарушение; это дешево]. Кроме того, $и #игнорируются переводчиком (я очень гордился собой за эту строчку).

  • Акцент на Sevénтом, чтобы показать стресс: seh-VEN

  • Это нарушает правило использования разных символов. Но, честно говоря, у меня очень ограниченный набор символов и нет места для добавления других (игнорируемых) символов.

  • Я использовал все заглавные буквы, потому что они быстрее доступны в ASCII. У меня не было места для места, к сожалению.

Наконец: да, я знаю, что последняя строка ужасна. Есть предложения по улучшению? Я не уверен, что вы могли бы сжать эту программу больше; может быть, храня повторяющиеся буквы на своих местах?


Просто понял, что, хотя это сделает код длиннее, развертывание начального цикла в 72 +сэкономит немного места в лимерике. Но я оставлю свой ответ как есть.
Баум

2

C #

Я взял на себя некоторые легкие вольности с правилами, так как по-настоящему фонетические варианты C будут включать слишком много использования «точки с запятой», что, как мы все знаем, не особенно хорошая рифма для чего-либо.

{
     string unfurled = "Hello World!";
     Console.WriteLine(unfurled);
}

открытая скобка, строка называется развернутой

создан, чтобы читать "привет мир"

строка записи консоли

строка, которую мы определили

заключительная скобка, та, которая свернута


Вы всегда можете поставить точку с запятой в начале новой строки, нет?
Микаэль Майер

Правда, Микаэль, но это заставляет код выглядеть очень неопрятно!
BrummiePete

1
Между неопрятным и рифмованным, здесь речь идет о рифмовании. Не волнуйтесь, этот код не рецензируется.
Микаэль Майер

1

Джава

class Hello {public static void main
(String[] args)
{yellow = System; yellow
.out.print("Hello
world");} }

class Hello brace public static void main
paren string bracket bracket args paren
 brace yellow equals system sem-col yellow
 dot out dot print paren quote hello
world quote paren sem-col brace and brace again

1
Это не компилируется. Как yellowзаявлено?
ζ--

1

партия

@echo off >dull
set /p "=Hello "<nul
set w=World
echo %w%! || Furled
del dull || cull

при эхосигнале выключен в тупой
набор косая черта p кавычка Привет цитата из nul
set w равный Мировой
эхо-процент w процент bang труба труба Furled
del тупая труба труба


Можете ли вы найти другой рифмы скучно / скучно?
Микаэль Майер,

@ MikaëlMayer, это более бесполезный код, но да.
unclemeat

1

CSS

title>me
,body lets go party
only a stylesheet,html
:after { content: 'hello world'; font-family:Rockwell
; color: #adad20

Выходы:

титул больше меня

тело запятой отпускает вечеринку

только запятая html таблицы стилей

двоеточие за скобкой содержание двоеточие цитата привет мир цитата точка с запятой двоеточие шрифта Rockwell

точка с запятой цвет толстой кишки хэштегом папа двадцать

Протестировано в Firefox и Chrome


1
#include <stdio.h> //
void main (void){
printf("Hello, World");
//just for rhyme I say stolon
} /**/

хеш включает меньше чем stdio точка h больше двойной косой черты после пробела

void основной левый paren void правый paren левая скобка

printf левая пара цитата Hello comma Мировая цитата правая пара точка с запятой

двойная косая черта только для рифмы я говорю столон

правая скобка и двойная звездочка между косыми чертами на последнем месте


Хороший для первых двух рифм, но вы используете дважды один и тот же символ для рифмы (точка с запятой), что недопустимо.
Микаэль Майер

Отлажено, но, похоже, появилась еще одна ошибка.
Наюта Ито

0

Пакет Windows

Произносимые слова также сохраняются в пакетном файле и пропускаются с последней строкой фактического кода.

@echo off >nul
set hi=Hello World
rem Now print the string,
echo !hi!
goto :) to skip the words

at echo off, greater than nul,
set H I equals sign, Hello World,
rem Now print the string,
echo pling, H I, pling
goto smile, to skip the words

:)

Редактировать: вам нужно будет включить отложенное расширение для работы скрипта. Используйте cmd /v:onи запустите его оттуда.


1
nul, worldИ wordsне рифмуются. Шаблон должен быть AABBA. Также stringдолжна быть объявлена запятая после .
дядя

0

print «буквенные клавиши на моей клавиатуре»
print «достаточно», чтобы сказать «Hello World
print», когда я
печатаю темный « print», сидя здесь в парке «
print », чувствуя себя ужасно, ужасно скучно »


Обратите внимание на правила: такие символы 'читаются вслух и считаются частью рифмованной схемы. Добро пожаловать в PPCG!
Джонатан Ван Матре

Так что технически это работает. Это не говорит, Aне может быть B.
CompuChip

0

Python (3)

print('''Nose
No punctuation hear close
Hello World
Hurled and swerled
Goodbye now''')

Распечатать открытую цитату цитата цитата нос, Никаких знаков препинания не слышно близко, Привет, Мир, Брошенный и закрученный, До свидания, теперь цитата цитата цитата близко.


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