| Re: Мультиквайн - вынос мозга | |
| От: | Кодт модератор | ||
| Дата: | 14.11.09 18:26 | ||
| Оценка: | 5 (1) | ||
| Здравствуйте, kochetkov.vladimir, Вы писали: KV>Прога представляет собой код на ruby, который выдает на выходе код на питоне, который выдает на выходе код на перле, который выдает на выходе код на луа, который выдает на выходе код на окамле, который выдает на выходе код на хаскелле, который выдает код на си, который выдает код на яве, который выдает код на брейнфаке, который выдает код на вайтспейсе, который выдает код на анлямбде, который выдает код на руби (в доме, который построил Джек, ага). KV>Собственно, этюд заключается в том, чтобы понять — как оно вообще работает Запустить интерпретаторы оных языков и последовательно посмотреть, что там творится. Общая идея, как сделать квайн первого ранга (из себя в себя) — несложная.
Строки в кавычках составляют словарь операторов языка программы (язык программы является подмножеством языка программирования). На самом деле, там немножко хитрее, потому что для вывода кавычек внутри строк придётся либо упражняться с подстановками, либо нарезать строку на более мелкие куски. Для квайна второго ранга нам потребуются два комплекта операторов
Ну и так далее, очевидно, для произвольного ранга: "вывод nachala", "vyvod BEGIN", "print начала"... Перекуём баги на фичи! |