Самоизписваща се програма

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

Тази статия описва тип компютърни програми. Може би Вие търсите информация за философа Willard Van Orman Quine.

В програмирането с quine се обозначава програма (наричана понякога метапрограма) която изписва собственият си текст върху стандартния изход. Програмата не бива да чете от никакво входно устройство. Хакерите се забавляват, опитвайки се да напишат най-кратката версия на такава програма за кой да е от програмните езици.

Quine-ите са именувани на философа W. V. Quine, който се е занимавал с непрякото самоизразяване: той изследва парадоксални изречения от вида „влече лъжа когато се приложи към себе си.“

Кратък quine на C[редактиране | edit source]

main(){char*a="main(){char*a=%c%s%c;printf(a,34,a,34);}";printf(a,34,a,34);}

Кратък quine на Pascal[редактиране | edit source]

const a:string='const a:string=;begin insert(#39+a+#39,a,16);write(a) end.';begin insert(#39+a+#39,a,16);write(a) end.

Кратък quine на Scheme LISP[редактиране | edit source]

((lambda (x)
          (list x (list (quote quote) x)))
      (quote
          (lambda (x)
              (list x (list (quote quote) x)))))

Външни препратки[редактиране | edit source]