如何在R语言中将函数打包为含静态方法的简单类
最简单轻量化的R类实现(静态方法)
在R中,原生的S3类是最轻量化的实现方式,不需要依赖任何额外包,仅用原生语法就能把函数封装为类的静态方法,用法和你之前的列表方式几乎一致,但具备类的特性。
实现代码
# 创建空对象并指定类名 myClass <- structure(list(), class = "myClass") # 添加静态方法 myClass$func1 <- function(x) { print(x) } myClass$func2 <- function(x) { print(paste0(x, ' SECOND')) }
调用方式
和你之前的列表调用完全相同:
> myClass$func1('test') [1] "test" > myClass$func2('test') [1] "test SECOND"
验证类属性
你可以通过以下命令确认它是一个S3类对象:
> class(myClass) [1] "myClass"
这种方式完全满足需求:用类封装函数组,提供静态方法,同时保持极简、轻量化的特性,没有多余的复杂度。
内容的提问来源于stack exchange,提问作者Avraam
相关产品推荐
相关产品推荐

