methods::slotNames 对非类、非字符参数有什么作用?

问题描述 投票:0回答:1

用法:slotNames(x)

手册页说

如果给定的参数既不是字符串也不是类 定义中,slotNames(仅)使用 class(x) 代替。 但我实验过:

Rgames> foo <- 'whatever'
Rgames> slotNames(foo)
character(0)    #as expected
Rgames> foo <- sin
Rgames> slotNames(foo)
NULL
Rgames> class(foo)
[1] "function"
Rgames> bar <- list(a = 1, b= 2)
Rgames> slotNames(bar)
NULL
Rgames> class(bar)
[1] "list"

我是否误解了输入参数描述的含义

x

r class
1个回答
0
投票

slotNames
函数用于与S4对象交互。它不适用于任意对象。使用这个例子

setClass("track", slots = c(x="numeric", y="numeric"))
myTrack <- new("track", x = -4:4, y = exp(-4:4))

slotNames("track")             #[A]
slotNames(getClass("track"))   #[B]
slotNames(myTrack)             #[C]
slotNames(class(myTrack))      #[D]

[A]部分使用字符串。 [B] 部分使用类表示。 [C] 部分是在对象上调用

class()
的地方,因此它相当于 [D]。

© www.soinside.com 2019 - 2024. All rights reserved.