有没有人在 R 中构建了一个 quine(“一个生成自己的源文本副本作为其完整输出的程序”:http ://www.nyx.net/~gthompso/quine.htm )?([quine] 标签在 Python、Java 中提供了很多示例……但在 R 中显然没有。)
f <- function() { body() }
接近:
> f()
{
body()
}
但缺少函数的名称。
最短的可能性如何?最糊涂?
编辑:从下面的各种答案来看,似乎有多种方法可以定义自我参照性及其必须发生的环境:
- 在 R 环境中:函数
->
函数 (@bill_080) - 在 OS/shell 环境中:程序
->
程序 [或多或少等同于程序->
文本]:(@kohske) - 其他:函数
->
文本(@JoshUlrich,@James,上面定义的问题)
笔记:
- @Spacedman 指出的来自 R-help的线程(似乎强调混淆而不是简洁)表明这
identical(quine,quine())
是一个很好的测试用例,尽管它很棘手,因为环境可以进行:identical(quine,quine(),ignore.environment=TRUE)
可能更容易。 - 最近(2015 年 10 月)的一篇博文提供了另一个答案……