我读了一些帖子,其中哈德利开了一个关于自毁功能的笑话。我认为这实现起来相对简单,但事实证明并非如此。
这是一个尝试编写一个名为self_delete
quine 的函数,并在打印其主体后尝试自毁。这个想法是在其中搜索函数的名称.GlobalEnv
并将其删除,但这不起作用。我想了解为什么会这样。
self_delete<- function(){
print(body(self_delete))
rm(list=lsf.str(pattern="self_delete"))
}
调用上述内容会按预期打印以下内容,但不会从中删除自身.Globalenv
,我错过了什么?我确实尝试过rm
,ls
也没有运气
self_delete()
{
print(body(self_delete))
rm(list = lsf.str(pattern = "self_delete"))
}