environments是最接近R中哈希表的东西.不幸的是,它们只支持character键.
ht <- new.env()
assign(as.character(245), 3, ht)
get(as.character(245), ht)
Run Code Online (Sandbox Code Playgroud)
environments被散列,并且比使用向量更有效.与其他R对象不同,environment当作为函数的参数提供时,s通过引用传递.
您可以轻松地使用它来实现自然感觉.
new.hashtable <- function() {
e <- new.env()
list(set = function(key, value) assign(as.character(key), value, e),
get = function(key) get(as.character(key), e),
rm = function(key) rm(as.character(key), e))
}
ht <- new.hashtable()
ht$set(245, 3)
ht$get(245)
# [1] 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3331 次 |
| 最近记录: |