In computing, a quine is a computer program which produces a copy of its own source code as its only output.
ruby eval s=%q(puts"eval s=%q(#{s})")
eval s=%q(puts"eval s=%q(#{s})")
ruby x="x=%p;puts x%%x";puts x%x
x="x=%p;puts x%%x";puts x%x
cpp #include <cstdio>
#define B(x) x; printf("{ B(" #x ") }\n");
int main()
{ B(printf("#include <cstdio>\n#define B(x) x; printf(\"{ B(\" #x \") }\\n\");\nint main()\n")) }
#include <cstdio>
#define B(x) x; printf("{ B(" #x ") }\n");
int main()
{ B(printf("#include <cstdio>\n#define B(x) x; printf(\"{ B(\" #x \") }\\n\");\nint main()\n")) }
clojure (def s"(def s%s)(printf s(pr-str s))")(printf s(pr-str s))
(def s"(def s%s)(printf s(pr-str s))")(printf s(pr-str s))
fsharp (fun s -> printf "%s %s" s s) "(fun s -> printf \"%s %s\" s s)"
(fun s -> printf "%s %s" s s) "(fun s -> printf \"%s %s\" s s)"
Submit a new solution for
ruby,
cpp,
clojure, or
fsharp
There are 20 other solutions in
additional languages (
fantom,
groovy,
haskell,
java ...)