=>100808
pry(main)>:key.object_id
=>100808
pry(main)>'key'.object_id
=>34255720
pry(main)>'key'.object_id
=>43597460
从上面可以看出,两次的 :key 其实是同一个对象,而 'key' 则是两个不同的对象。
所以 Symbol 相较 String 而言,其实就是节省了内存。
这也是 ruby 建议我们在 hash 的 key 中使用 Symbol 而不是 String 的原因。