R 创建新方法时循环

R 创建新方法时循环,r,R,我在哈德利学习高级R,他给出了以下示例: new_secret <- function(x = double()) { stopifnot(is.double(x)) structure(x, class = "secret") } print.secret <- function(x, ...) { print(strrep("x", nchar(x))) invisible(x) } 有人能解释一下为什么这个方法在被调用时会进入循环吗 x <- new_

我在哈德利学习高级R,他给出了以下示例:

new_secret <- function(x = double()) {
  stopifnot(is.double(x))
  structure(x, class = "secret")
}

print.secret <- function(x, ...) {
  print(strrep("x", nchar(x)))
  invisible(x)
}
有人能解释一下为什么这个方法在被调用时会进入循环吗

x <- new_secret(c(15, 1, 456))

x[1]
x
x <- new_secret(c(15, 1, 456))

x[1]