Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R6类中找到对象实例化的名称?_R_Class_R6 - Fatal编程技术网

如何在R6类中找到对象实例化的名称?

如何在R6类中找到对象实例化的名称?,r,class,r6,R,Class,R6,ann我也在尝试做同样的事情,所以也许我可以澄清这个问题。(对我来说)的目标是给这个类的用户一些反馈。诸如此类: Person <- R6Class("Person", public = list( name = NULL, hair = NULL, initialize = function(name = NA, hair = NA) { self$name <- name self$hair <- ha

ann我也在尝试做同样的事情,所以也许我可以澄清这个问题。(对我来说)的目标是给这个类的用户一些反馈。诸如此类:

Person <- R6Class("Person",
  public = list(
    name = NULL,
    hair = NULL,
    initialize = function(name = NA, hair = NA) {
      self$name <- name
      self$hair <- hair
       },

    do_something_very_long=function(){
      whoami <- self$getInstanceName() ## $getInstanceName() is the method I need to write !
      message(paste("Please wait, processing object",whoami))
      # Do a very long calculation... 
     }
  )
)

当脚本运行时,不要看太多发生的事情。因此,我想要一些反馈,这样当用户喝完咖啡回来时,他可以看到屏幕,看到计算机正忙于处理VIP或下一位客户


显然,一种方法是显式地为每个对象指定唯一的标识符(在本例中为name)。然而,在我的实际应用程序中,这不是很有意义,或者会重复对象名(“模型1”、“模型2”…),这有点浪费

我也在尝试做同样的事情,所以也许我可以澄清这个问题。(对我来说)的目标是给这个类的用户一些反馈。诸如此类:

Person <- R6Class("Person",
  public = list(
    name = NULL,
    hair = NULL,
    initialize = function(name = NA, hair = NA) {
      self$name <- name
      self$hair <- hair
       },

    do_something_very_long=function(){
      whoami <- self$getInstanceName() ## $getInstanceName() is the method I need to write !
      message(paste("Please wait, processing object",whoami))
      # Do a very long calculation... 
     }
  )
)

当脚本运行时,不要看太多发生的事情。因此,我想要一些反馈,这样当用户喝完咖啡回来时,他可以看到屏幕,看到计算机正忙于处理VIP或下一位客户


显然,一种方法是显式地为每个对象指定唯一的标识符(在本例中为name)。然而,在我的实际应用程序中,这不是很有意义,或者会重复对象名(“模型1”、“模型2”…),这有点浪费

你为什么需要这个?因为我假设你指的是你分配给对象的变量名,而不是“name”的值(你可以通过键入
ann$name
)是的,我需要分配给对象的变量名。我需要它来创建一个包含R6类的命令日志。你的意思是
obj吗?我想你应该提供更多的代码来说明你试图用日志来做什么。对我来说,你所要求的听起来像是一种代码味道,但可能是我真的不明白你想要什么你为什么需要这个?因为我假设你指的是你分配给对象的变量名,而不是“name”的值(你可以通过键入
ann$name
)是的,我需要分配给对象的变量名。我需要它来创建一个包含R6类的命令日志。你的意思是
obj吗?我想你应该提供更多的代码来说明你试图用日志来做什么。对我来说,你所要求的听起来像是一种代码味道,但可能是我真的不明白你想要什么-我真的不能这样做,因为可能有几个名称绑定到同一个对象(在这种情况下是R6对象),对吗?(参见)更一般地说,有没有办法获得指向给定对象的所有符号的列表?等等-我真的不能这样做,因为可能有几个名称绑定到同一个对象(在这种情况下是R6对象),对吗?(cf.)更一般地说,有没有办法获得指向给定对象的所有符号的列表?
$ R ~/batch_processing.R 
R> source("batch_processing.R")