现在它们是相同的,但如果我记得正确的话(可能只有在S+中),以前rm删除指定元素时不需要引号,而remove则需要引号或包含要删除对象列表的变量。因此,rm将像今天一样用于大多数情况下(不指定任何参数),而remove将像今天的rm(list= ...一样使用。由于两者都很有用,所以它们在一段时间后被合并为rm,但由于人们过去使用了remove,所以将其作为rm的别名。
body(rm)== body(remove)
的内容。这可以通过相应的代码来实现。请注意,翻译过程中不会改变原意,并尽可能简洁易懂。 - Matthew Plourdex <- 10; f1 <- local({x <- 2; function() x}); f2 <- function() x
。body(f1) == body(f2)
是TRUE
,但这些函数实际上是“不同的”,f1()
返回的值与f2()
不同。 - GSeeidentical(environment(rm), environment(remove)) & identical(body(rm), body(remove)) & identical(formals(rm), formals(remove))
才是真正正确的方式。看起来这个答案正在成为你的小摇钱树。 :) - Matthew Plourde