如何在ruby中以哈希形式存储对象?

如何在ruby中以哈希形式存储对象?,ruby,object,hash,Ruby,Object,Hash,我对哈希中的对象MyObject有一个哈希: inst = Hash.new(0) inst = {"val1" => MyObject.new(0x18,3,4)} 但当我想得到元素时: puts inst["val1"] 我得到一个错误: MyObject:0x00000002468690 散列是键值对。 在这种情况下,您得到的是给定键(即“val1”)的值,该键是MyObject类的实例。MyObject:0x00000002468690不是错误。这是ruby对对象MyObje

我对哈希中的对象MyObject有一个哈希:

inst = Hash.new(0)
inst = {"val1" => MyObject.new(0x18,3,4)}
但当我想得到元素时:

puts inst["val1"]
我得到一个错误:

MyObject:0x00000002468690
散列是键值对。
在这种情况下,您得到的是给定键(即“val1”)的值,该键是MyObject类的实例。

MyObject:0x00000002468690
不是错误。这是ruby对对象
MyObject
的字符串表示,因为它没有实现
to_s()
方法来对自身进行字符串化。