Лімерик Привіт Світ [закрито]


28

Програма з римування, яку ви пишете
Спроба виграти боротьбу
За перемогу в конкурсі та голосування.
Вона повинна обчислити "Hello World", а
потім надрукувати її дуже ввічливо

Переможе найпопулярніший вірш.

Вимоги такі:

  • Вірш повинен бути з 5 рядків із римами AABBA
  • Він може друкувати все, що завгодно, але вихід повинен містити "привіт світ" (великі регістри / малі регістри не мають значення, лапки не включаються до виводу)
  • Символи читаються вголос. Наприклад, читається четвертий рядок вище: Він повинен обчислити цитату привіт світова цитата
  • Опублікуйте під своїм кодом, на іншому попередньому попередньому перегляді коду, "читання вголос" версія вашого коду для розрізнення на спеціальних символах.

Виключені вірші:

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

У разі вирівнювання програми виграють програми, що випускають вірш. Якщо все-таки є нічия, виграють коротші програми.

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


В цілому потреба програми буде з п'яти ліній? Не може відповідь просто бути фрагментом необхідних команд? Виключаючи декларації класу / функції та все?
mikhailcazi

Так, вся програма повинна складатися з п’яти рядків. Спробуйте поширити свої визначення та включити їх уздовж. Більшість PL мають спосіб включити кілька речень у один рядок із напівкрапкою чи подібними.
Mikaël Mayer

Я бачу, що багато відповідей намагаються створити обмеження, тому що ви згадуєте це слово у своєму заголовку, але не у своїх вимогах.
TRiG

Це правда. Я хочу лише, щоб програма була обмеженням.
Mikaël Mayer

Я голосую за те, щоб закрити це як занадто широке, тому що немає можливості об'єктивно визначити, чи є відповідь достовірною.
Пшеничний майстер

Відповіді:


86

Пробіл

Програму римування я написав  	   
	
     		  	 	
	
цей вірш пробілу та роздуття		 		  
	
     		 		  
	
тому що нові рядки не враховуються  		 				
	
     	     
	
незважаючи на суму   	 	 			
	
     		 				
	
тому заслуговує на ваш найщиріший результат 			  	 
	
     		 		  
	
     		  	  
	
  


Вікіпедія: Білий простір (мова програмування)
Інтернет-перекладач для тестового відповіді

Вихід:

Привіт Світ

3
Це якимось чином нагадує мені "Біти" разом .
користувач12205

7
Це, безумовно, "над мною"
Sideshow Bob

6
Виключено: Використання коментарів як способу римування
Не те, що Чарльз

2
Ну, я забув, що інші символи - це коментарі в пробілі. Я не думаю, що я дотримуватимусь цього правила, бо інакше це зіпсує цього переможця.
Mikaël Mayer

3
@ MikaëlMayer Я думаю, ви повинні дотримуватися цього правила. Я підозрюю, що багато цих голосів здебільшого є людьми, які лише виявляють чарівність Whitespace. Особисто мені більше цікаво бачити відповіді в дусі актуального виклику коду римування.
Джейсон C

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
Новачок вірш, який він написав - сподіваючись отримати лише один голос - а зараз у цій гонці / він на другому місці! / З такою ж кількістю респірантів, як кілька років на StackOverflow-ta.
кобальтдук

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), що найкращі мають несподіванку в останньому рядку.

(Оскільки закінчення інтерпретується простою англійською мовою, я вважаю, що ви можете самі розібратися, який тип дужки не є відповідним. Що стосується відсутності вимоги до мертвого коду, нічого там не можна видалити, не змінивши принаймні одну риму, ритм чи вихід ).


Можна видалити хеш, не змінюючи функціональність або риму. Це робить зміна ритму , як ви стверджуєте, але умови на питання в досить ясно тут, я думаю.
Кеба

1
Оскільки природа поезії полягає у зведенні правил, я можу з нею жити. Однак, мені незрозуміло, що метр все одно не є частиною концепції римування ОП.
Sideshow Bob

3
Мех. Римування «дужки» із собою тричі - просто лінивий обмеження.
MikeTheLiar

Так, мені це погано. Але це різний символ для кожного риму, як цього вимагає ОП.
Sideshow Bob

14

Хаскелл

Прийняття деяких свобод із вимовою певних символів, тобто побудова кортежу (,,) та застосування функції ($).

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 Мені подобається нелітеральна транскрипція, і "сердець сутності" начебто смішний, незважаючи на свободу розриву рядків.
Джейсон C

8

ОСНОВНІ

Більш конкретно, Chipmunk 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

Примітки:

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

І ось доказ того, що це насправді працює:

захоплення екрану програми, що працює в Mac OS X


Як ви зробили цей gif?
Картик

@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: це голосування і цитата.
Кеба

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

1
@Victor, "символи, які можна безпечно видалити", мабуть, означають, що ви не можете використовувати імена змінних з кількома символами, за винятком випадків, коли вони є частиною рими. Це проблематично.
Джонатан Ван Матре

6

Java

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У потребах «човнових» повинні бути видалені ( "вівсяна» є допустимим ім'ям змінної, і напади)
pppery

6

Рубін

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

У прямому ефірі: 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.
гістократ

Це був би не єдиний приклад
лімерика

4

Хаскелл

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

Основна дорівнює друкованій зупинці повторення
Повна зупинка лінії долара в доларі, що я знаю?
Привіт цитатою долара привіт назад косою рисою
Назад slashworld bang цитата хеш
Точно там, де укруглений хеш дорівнює суцільному, зупини це!

Це, сподіваємось, досить добре описує фактичну поведінку програми.


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ël Mayer

@ MikaëlMayer: див. Зауваження у моєму другому абзаці.
Ніль де Бодорап

2

Brainf * ck

Гаразд, оберіть мене за численні порушення правил. Але я не міг не зробити це.

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

І вихід (перше порушення багатьох: немає місця):

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 #

Я взяв кілька незначних свобод з правилами, оскільки справді фонетичні варіанти С передбачають занадто багато використання "напівколонки", яка, як ми всі знаємо, не є особливо хорошою римою.

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

відкрита дужка, рядок називається розгорнутим

створений для читання "привіт світ"

рядок запису консолі

рядок, який ми визначили

заключна дужка, та, яка згорнулася


Ви завжди можете ставити напівкрапку на початку нового рядка, ні?
Mikaël Mayer

Щоправда, Мікаель, але це робить код виглядати дуже неохайним!
BrummiePete

1
Між неохайним та римуванням, мова тут йде про римування. Не хвилюйтесь, цей код не рецензований.
Mikaël Mayer

1

Java

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 рівна Привіт цитата з нульового
набору w рівна Світ
відлуння відсотків w відсоток удару труби труба Закручена
дель тупа труба труба


Чи можете ви знайти іншу риму тупий / тупий?
Mikaël Mayer

@ MikaëlMayer - це більше марний код, але так.
нечисте м'ясо

1

CSS

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

Виходи:

титул більший за мене

тіло кома відпускає партію

лише стилі HTML html

двокрапка після змісту дужки двокрапка цитата привіт Всесвітня цитата крапка з комою сімейство шрифтів двокрапка Роквелл

крапка з комою з двома крапками хештег тато двадцять

Тестували в Firefox та Chrome


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

хеш включає менше, ніж точка stdio h, більша за подвійну косу рису після пробілу

void main лівий paren void правий paren left brace

printf зліва цитата для батьків Привіт кома Всесвітня цитата справа батьків напівкрапка

подвійний косої риси тільки для рими я кажу столон

правильна дужка і подвійна зірочка між косими на останньому місці


Хороший для перших двох рим, але ви використовуєте двічі один і той же символ для римування (напівколонки), що заборонено.
Mikaël Mayer

Налагоджено, але, мабуть, з’явилася ще одна помилка.
Найту Іто

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

надрукувати "літерні клавіші на моїй клавіатурі"
друк "є достатніми, щоб сказати привіт Всесвітня
друк", коли я друкую в темряві "
друк", сидячи тут, в парку "
друкувати ", відчуваю себе жахливо, жахливо нудно "


Зверніть увагу на правила: такі символи 'читаються вголос і вважаються частиною схеми римування. Ласкаво просимо до PPCG!
Джонатан Ван Матре

Так технічно це працює. Це не говорить, що Aбути не може B.
CompuChip

0

Пітон (3)

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

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


Ласкаво просимо на сайт і приємне перше повідомлення!
caird coinheringaahing
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.