这是我的S4类,该类保存在单独的文件中,并且当前在RStudio中打开:

setClass(
  Class = 'some_cls',
  slots = c(some_slot = 'numeric'),
)


setGeneric("some_method", function(self)
  standardGeneric("some_method"))
setMethod("some_method",
          signature(self = "some_cls"),
          function(self) {
            self@some_slot <- 5
            self
          }
)


在另一个文件中,我执行:

some_obj <- new('some_cls')
some_obj <- some_method(some_obj)


我尝试像在RStudio中一样调试some_method。我将点放在行self@some_slot <- 5旁边,在RStudio中,我单击了右上角的Source,但是代码执行并未在断点处停止。我究竟做错了什么?

最佳答案

这看起来像是RStudio中的错误;您可能想向他们报告。 R中的基础结构可以毫无问题地处理您的情况。

例如,如果第一个文件名为test.R,并且您想要第12行的断点,则运行

setBreakpoint("test.R#12")


当您到达那里时,执行就会中断。

关于r - 如何在RStudio中调试S4类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49034983/

10-15 00:07