Hadley が自己破壊関数について冗談を言った投稿を読みました。これは比較的簡単に実装できると思っていましたが、そうではないことがわかりました。
これは、クインであるという名前の関数を作成しようとする試みであり、self_delete
その本体を出力した後に自己破壊を試みます。関数の名前を検索して.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"))
}