什么是OpenStruct和Hash之间的一些重要区别?

时间:2013-04-19 00:04:41

标签: ruby

他们似乎都做了同样的事情。哪些用例需要一个用户?

目前,我正在研究一些演示者课程。我的第一个想法是使用OpenStruct,但我无法确定使用Hash和OpenStruct之间的有意义的区别。

2 个答案:

答案 0 :(得分:4)

  1. 对象语法v。哈希语法。
  2. 如果一个方法需要一个具有特定访问器的对象,那么哈希将无效。

答案 1 :(得分:1)

  

OpenStructs是sloooooooooowow和内存密集型,并且不适合大型数据集。   创建100万个OpenStructs比创建100万个哈希值慢约100倍。

这已经在这里详细讨论过:

When should I use Struct vs. OpenStruct?