我编写了一些 Ruby 代码来将 Google n-gram 数据导入哈希表,将单词 unigrams 映射到它们各自的计数。我使用符号而不是字符串作为键。我已经在 linux 机器上运行这段代码一段时间了,没有任何问题。今天早上在我的 Mac 上运行它在加载大约 200 万个键值对后产生了符号表溢出运行时错误。我不明白是什么导致了这个错误。有人对可能是什么原因有建议吗?我在 OS X 10.5.8 下运行 Ruby 1.9.1。
最佳答案
虽然使用 Symbol 作为键而不是 String 通常更有效,但效率的提高与所涉及的重复程度成正比。由于您的键根据定义是唯一的,因此您可能应该只使用字符串键以避免塞满条目的符号表。
关于ruby - Ruby 中的符号表溢出问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239644/