Куайн

Куайн

Википедия написал(а):

Куайн, квайн (англ. quine) — компьютерная программа, которая выдаёт на выходе точную копию своего исходного текста.

Следует заметить, что программы, использующие внешние данные, квайнами не считаются; то есть исключается прочтение текста программы из файла, ввод его с клавиатуры и так далее. Кроме того, не считается квайном «программа», не содержащая вообще никакого кода (вырожденный случай). В книге «Этюды для программистов» Чарльза Уэзерелла сформулировано более строгое условие: программа не должна пользоваться трюками, позволяющими получить доступ к своему исходному коду, хранящемуся в памяти загрузчика или интерпретатора.

Написал куайн (архив с исходником и результатом), руководствуясь статьёй.

Код:

# quine

$q="'"
$s='# quine
$q=""
$s=
msg mid($s,1,13)+$q+mid($s,14,6)+$q+$s+$q+mid($s,21)
--- quine ---------------------------------'
msg mid($s,1,13)+$q+mid($s,14,6)+$q+$s+$q+mid($s,21)
--- quine ---------------------------------

Этот файл следует скормить txt2gam, запустить полученный файл в интерпретаторе, во всплывающем окне вы увидите исходник.
С копированием из интерпретатора могут быть проблемы. Например, при копировании из главного окна или из дополнительного - вообще не копируется. Из всплывающего окна иногда копируется (выделяю всё мышкой (ctrl+a не пашет) и нажимаю ctrl+c), но с вероятностью, меньшей 1/3 .

Также отмечу, что позиции и длины подстрок на первый взгляд неверные - дело в том, что в винде перевод строки - \r\n, хотя по хорошему должно быть просто \n (как в никсах), а в стандарте, по видимому, прописан именно виндовый конец строки.

Изменено: KOLANICH
23.Апр.14 12:26:25
KOLANICH
useravatar
Offline
92 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
987
Всего опросов:
14
Всего сообщений:
16790754
Сообщений на этой неделе:
19
Пользователи форума:
 
Всего пользователей:
2450
Последним зарегистрировался:
yovavo7804