Ruby 当哈希是对象中的私有变量时,如何获取哈希值?

Ruby 当哈希是对象中的私有变量时,如何获取哈希值?,ruby,hash,Ruby,Hash,抱歉,伙计们,编辑我看到的 我的目标如下: 我处于调试模式,因此我可以看到: Object | |- @hash = Hash (2 elements) | | | |- element_1->value_1 | |- element_2->value_2 | |- @raw |- @@action 我想返回@hash的值,特别是我想输出element\u 1=value\u 1和element\u 2=value\u 2 我尝试了

抱歉,伙计们,编辑我看到的

我的目标如下:

我处于调试模式,因此我可以看到:

Object
  |
  |- @hash = Hash (2 elements)
  |    |
  |    |- element_1->value_1
  |    |- element_2->value_2
  |
  |- @raw
  |- @@action
我想返回
@hash
的值,特别是我想输出
element\u 1=value\u 1
element\u 2=value\u 2

我尝试了以下方法:

Object.attributes  
=> undefined method 'attributes'

Object.instance_variables 
仅返回
@hash
@raw
的名称,但
@hash
为空,它不包含元素和值的预期值:S


你知道我怎样才能得到它的值吗?

盯着水晶球看之后,我会试试

Object.new.element_array_1.entries
编辑:问题更新后仍不清楚

  • 不知道你在说什么调试模式。看起来不像 类似于标准调试模块的输出

  • instance\u variables
    对象的方法只返回变量名作为 符号,仅此而已,那么您如何知道
    @hash
    是否为空

  • 如果实例变量之间列出了
    @hash
    ,则可以直接使用
    Object.instance\u variable\u get:@hash
    或使用
    Object.new.instance\u variable\u get:@hash
    从初始化实例检索其值

您的数组无效。。请给出一个有效的值,只是编辑以将我能在调试器中看到的内容放入…非常感谢David,我以为instance_variables会返回值,但正如您所说,这是返回值的内容:Object.instance_variable_get:@hash非常感谢!