Обработка, которая выводит свой код (средствами метода Выполнить())

Обработка, которая сообщает текст модуля обработки, которая сообщает текст модуля обработки…

 

 

 

Стояло теоретическое задание: создать обработку которая помимо выполнения основного кода, еще и выводит в сообщения свой код который (код) так же можно вставить в новую обработку, и при запуске опять сообщит свой код который (код) так же можно вставить в новую обработку, и при запуске опять….. Теория по задачке http://ru.wikipedia.org/wiki/Quine. Казалось бы все так просто, есть метод Выполнить() и вперед. Но пришлось немного попотеть. Кому интерестно можете сами решить данную задачку а потом сравнить решение с вложением (готовая обработка на 8.2 (обычное приложение)). Если будут идеи как реализовать по другому, буду рад услышать, желательно в личку чтобы не лишать азарта остальных Smile 

9 Comments

  1. YPermitin

    От описания публикации в конце рабочего дня мозг окончательно заклинил. =)))

    Reply
  2. andrewks

    (1) YPermitin, я тоже ничё не понял)

    Reply
  3. ditiatko

    (1) YPermitin, (2) andrewks, Да немного теории вот http://ru.wikipedia.org/wiki/Quine

    Reply
  4. YPermitin

    (3) все прояснилось. )

    Reply
  5. ditiatko

    (4) YPermitin, сейчас добавлю в описание.

    Reply
  6. AnryMc

    (1) Больше бы для публикации подошла эта картинка: http://lurkmore.to/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Recursion.JPG&filetimestamp=20091015193051

    😉

    Reply
  7. ildarovich

    Квайн (мой вариант) — 90 знаков! Без выполнить. Можно ли короче?

    Reply
  8. ditiatko

    (7) ildarovich, согласен, сильно 🙂 выполнить() в моем случае позволяет реализовать еще любой кусок кода (в моем случае выполнить запрос и вывести результат)

    Reply
  9. MarSeN

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

    Тогда правильнее было бы статью назвать «рекурсивный вызов команды Выполнить() на примере…»

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *