2

我有一个哈希:

hash = { test: 'Test' }

如果我在 irb 会话中输入hash,它会输出散列的内容:

{
  :test => 'Test'
}

hash当我这样做时,正在对变量调用什么方法?

4

5 回答 5

3

方法是Hash#inspect

hash = { test: 'Test' }
# => {:test=>"Test"}

hash.inspect
# => "{:test=>\"Test\"}"
于 2013-01-21T05:14:07.180 回答
2
Object.inspect

该方法通常用于打印对象结构。

于 2013-01-21T05:13:17.147 回答
2

IRB#inspect在您的表达式上调用方法并打印其结果。

于 2013-01-21T05:13:34.527 回答
2

当您的哈希包含大量数据时,在一行中读取其内容可能会很痛苦。

我喜欢y在 yaml 中使用打印散列。

h = {:a => 1, :b => 2}
y h
# --- 
#  :b: 2
#  :a: 1
# => nil
于 2013-01-21T06:34:35.923 回答
1

IRB 将调用Hash#inspect

hash.inspect
于 2013-01-21T05:14:08.467 回答