2

Hadley が自己破壊関数について冗談を言った投稿を読みました。これは比較的簡単に実装できると思っていましたが、そうではないことがわかりました。

これは、クインであるという名前の関数を作成しようとする試みであり、self_deleteその本体を出力した後に自己破壊を試みます。関数の名前を検索して.GlobalEnv削除するというアイデアでしたが、うまくいきません。なぜそうなのかを理解したいと思います。

self_delete<- function(){
   print(body(self_delete))
   rm(list=lsf.str(pattern="self_delete"))
 }

上記を呼び出すと、期待どおりに次が出力されますが、から削除されません.Globalenv。何が欠けていますか? 私も試してみましたrmls運が悪かったです

 self_delete()
{
    print(body(self_delete))
    rm(list = lsf.str(pattern = "self_delete"))
}
4

1 に答える 1