如何查看fmatch()的哈希表的内容?

时间:2014-01-10 19:32:27

标签: r hashtable

函数fastmatch::fmatch为作为参数传递的表创建一个属性;此属性包含供后续使用的哈希表。我得到了:

fmatch(dbar,dfoo,nomatch=0) # just to grind dfoo through the function

Rgames> class(attributes(dfoo)$.match.hash)
[1] "match.hash"
Rgames> object.size(attributes(dfoo)$.match.hash)
280 bytes
Rgames> print(attributes(dfoo)$.match.hash)
<hash table>
<hash table>

但无法弄清楚如何显示表格内容。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

typeof(attributes(dfoo)$.match.hash)提供[1] "externalptr"

因此,此结构是与R分开创建和处理的,您无法在R中显示。

但是,如果真的想要查看$.match.hash - 这是可能的。 fastmatch包的来源提供了此结构的声明:

typedef struct hash {
  int m, k, els, type;
  void *src;
  SEXP prot, parent;
  struct hash *next;
  hash_index_t ix[1];
} hash_t;