有没有人构建过 quine(“生成自己源文本的副本作为其完整输出的程序”:http://www.nyx.net/~gthompso/quine.htm http://www.nyx.net/~gthompso/quine.htm)在 R 中? ([quine] 标签在 Python、Java 中提取了大量示例,...但在 R 中显然没有。)
f <- function() { body() }
接近:
> f()
{
body()
}
但缺少函数名称。
最短的可能性怎么样?最困惑?
edit:从下面的各种答案来看,似乎有多种方法可以定义自我指涉及其必须发生的环境:
- 在 R 环境中:函数
->
函数(@bill_080)
- 在操作系统/shell环境中:程序
->
程序[或多或少相当于程序->
文本]:(@kohske)
- 其他:功能
->
文本(@JoshUlrich,@James,问题如上定义)
Notes:
- The @Spacedman 指出的 R-help 线程 https://stat.ethz.ch/pipermail/r-help/2003-May/033730.html(这似乎强调了混淆而不是简洁)表明
identical(quine,quine())
是一个很好的测试用例,尽管它很棘手,因为环境会随之变化:identical(quine,quine(),ignore.environment=TRUE)
可能会更容易。
- 最近(2015 年 10 月)博客文章 http://xavier.nayrac.eu/2015/10/10/a-quine-in-r/提供了另一个答案...
这是我能想到的最短的:
> "f" <- function() call("<-", "f", f)
> f()
"f" <- function ()
call("<-", "f", f)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)