gpt4 book ai didi

R:在自定义类中启用自动完成

转载 作者:行者123 更新时间:2023-12-04 10:49:41 25 4
gpt4 key购买 nike

我创建了一个新类,我想启用 R 的自动完成功能。

一个例子可能是:

# Define class
setClass("customList",
representation("list")
)

# Make example
tmp <- new("customList",
list(
test='a',
b=1:3
)
)

结果是:
tmp
# An object of class "customList"
# [[1]]
# [1] 'a'
#
# [[2]]
# [1] 1 2 3

此自定义列表确实具有名称,并且可以使用命名参数
names(tmp)
[1] "a" "b"
tmp$test
[1] 'a'

现在我想以某种方式启用自动完成功能,所以我可以简单地输入
tmp$t <TAB> 

并得到
tmp$test

如何做到这一点?

提前 - 谢谢!

最佳答案

作为通用解决方案,R 中有一个通用函数,称为 .DollarNames控制按 <tab> 时获得的自动完成在您的自定义类对象上的美元符号之后。

作为一个例子,这里有一个函数,它可以只自动完成 customList 类的名字:

.DollarNames.customList <- function(x, pattern="") {
grep(pattern, names(x), value=TRUE)[1]
}

tmp$<tab>
tmp$test

当然,您希望在真实情况下返回所有结果。所以 [1]最后应该删除。

关于R:在自定义类中启用自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31938567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com