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

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

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

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

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

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

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

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

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[редактиране | редактиране на кода]

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

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