blob: bfd017f15cfc1a2fd1c44943c4b351b8b39d73dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
{ Quine in Kuin. @tatt61880 }
func main()
func quine(str: []char)
var s: []char :: ""
foreach c(str)
switch(c)
case '\n'
do s :~ "\\n\" ~\n | \""
case '\\', '"'
do s :~ "\\\{c}"
default
do s :~ c.toStr()
end switch
end foreach
do cui@print(str ~ s ~ "\"\n do quine(str)\nend func\n")
end func
const str: []char :: "" ~
| "{ Quine in Kuin. @tatt61880 }\n" ~
| "func main()\n" ~
| " func quine(str: []char)\n" ~
| " var s: []char :: \"\"\n" ~
| " foreach c(str)\n" ~
| " switch(c)\n" ~
| " case '\\n'\n" ~
| " do s :~ \"\\\\n\\\" ~\\n | \\\"\"\n" ~
| " case '\\\\', '\"'\n" ~
| " do s :~ \"\\\\\\{c}\"\n" ~
| " default\n" ~
| " do s :~ c.toStr()\n" ~
| " end switch\n" ~
| " end foreach\n" ~
| " do cui@print(str ~ s ~ \"\\\"\\n do quine(str)\\nend func\\n\")\n" ~
| " end func\n" ~
| " const str: []char :: \"\" ~\n" ~
| " | \""
do quine(str)
end func
|