【发布时间】:2014-11-14 15:56:34
【问题描述】:
我想知道在 R 函数中是否有一种优雅的方式来调用“self”。一个简单的例子是修改日期,假设 a 是 int 格式的日期(就像从 excel 中读取时一样)。
a = 41557
a = as.Date(a, origin = "1899-12-30")
然后用正确的格式更新“a”。显然这个例子非常简单,但是在长变量或更复杂的过程的上下文中,人们想使用像“self”这样的东西。 R 中是否存在这样的东西。 Self 仅仅意味着取 = 符号左侧的变量。
a = 41557
a = as.Date(self, origin = "1899-12-30") # what to use for self.
作为第一个提示,我发现(我认为)某些函数可以使用“
"minc<-" <- function(x, value){x*value}
给:
a = 2
a = minc(12)
# a = 24, which is basically : a = self*12
我不知道 R 中是否存在这样的关键字,但它肯定有助于我的大多数代码的可读性。
一如既往,感谢您的帮助!
罗曼。
【问题讨论】:
-
我不关注。什么是
self。也许你想要Recall。 -
你会打电话给
minc(a) <- 12 -
@Thomas,self 只是一种说法“使用 = 运算符之前的对象作为参数”我会试一试 Recall 从未使用过它。
-
你想做什么
foo<-some_function(foo)做不到的?我怀疑您是在尝试将其他语言的语法应用于R,而不是尝试翻译您想要的功能。 -
@CarlWitthoft 你是对的,它可以通过
foo<-some_function(foo)直接实现,这就是我在初始帖子(第一个代码部分)中解释的内容。 “self”只是任何面向对象语言中的一个关键词。我只是在寻找一种优雅的方式来完成这个过程,因为如果变量的名称很长(例如,它在嵌套列表中很远),那么代码就会变得难以阅读。