有没有办法 `ls()` 所有我创建的 `S4` 类?

Is there a way to `ls()` all `S4` classes I've created?

setClass('A')
setClass('B', contains='A')
setClass('C')
setClass('D', contains=c('C','B'))
ls()

从某种意义上说,我有 "created" 四个 "things",但是因为我还没有实例化这些 类 中的任何一个,所以我看不到它们中的任何一个。

有没有办法查看可用的类?也许 env 其中存储了到目前为止定义的 S4 类?

Class定义存储在.__C__前面的变量中,所以

> grep(".__C__", ls(all=TRUE), value=TRUE)
[1] ".__C__A" ".__C__B" ".__C__C" ".__C__D"

对于包中定义的 类,请查看包命名空间,例如,

> library(quantmod)
> symbols <- ls("package:quantmod", all=TRUE)
> grep(".__C__", symbols, value=TRUE)
[1] ".__C__chob"           ".__C__chobTA"         ".__C__quantmod"      
[4] ".__C__quantmodReturn" ".__C__tradeLog"