更改

跳到导航 跳到搜索
大小无更改 、 2026年9月12日 (星期六)
无编辑摘要
第533行: 第533行:  
==== Quine(自打印程序) ====
 
==== Quine(自打印程序) ====
   −
'''现象''':一个'''不接受任何输入、只打印出自己源代码副本'''的程序<ref name="wikipedia_quine_computing"/>。它的约束很苛刻——'''不能读自己的源码'''(靠读文件输出自己、如 `cat $0`,被视为"作弊",不算 quine),只能靠"代码部分 + 代表代码文本的数据部分"来构造性地打印自己;[[#直观图景:程序如何"谈论"自己的代码|§5.4]] 例 1 的 Python 程序就是一个标准 quine。"quine" 一词由 [[侯世达|Hofstadter]] 在《[[哥德尔、艾舍尔、巴赫]]》中普及(借自哲学家 W. V. O. Quine 的名字,他构造过自指的句子)<ref name="hofstadter1979">'''Hofstadter, D. R. (1979).''' ''Gödel, Escher, Bach: An Eternal Golden Braid''. Basic Books.【"quine" 一词的普及来源】</ref>。
+
'''现象''':一个'''不接受任何输入、只打印出自己源代码副本'''的程序<ref name="wikipedia_quine_computing"/>。它的约束很苛刻——'''不能读自己的源码'''(靠读文件输出自己、如 `cat $0`,被视为"作弊",不算 quine),只能靠"代码部分 + 代表代码文本的数据部分"来构造性地打印自己;[[#直观图景:程序如何"谈论"自己的代码|§5.3]] 例 1 的 Python 程序就是一个标准 quine。"quine" 一词由 [[侯世达|Hofstadter]] 在《[[哥德尔、艾舍尔、巴赫]]》中普及(借自哲学家 W. V. O. Quine 的名字,他构造过自指的句子)<ref name="hofstadter1979">'''Hofstadter, D. R. (1979).''' ''Gödel, Escher, Bach: An Eternal Golden Braid''. Basic Books.【"quine" 一词的普及来源】</ref>。
    
'''SRT 如何推出它''':把 SRT 里的变换规则 <math>f</math> 直接定义:'''"打印"程序'''——<math>f(c) =</math> "打印出 <math>c</math> 的源码的那个程序"。套用 SRT(<math>\phi_c = \phi_{f(c)}</math>)得到不动点 <math>c</math>:
 
'''SRT 如何推出它''':把 SRT 里的变换规则 <math>f</math> 直接定义:'''"打印"程序'''——<math>f(c) =</math> "打印出 <math>c</math> 的源码的那个程序"。套用 SRT(<math>\phi_c = \phi_{f(c)}</math>)得到不动点 <math>c</math>:

导航菜单