参数为Hash时,不同的解析优先级

时间:2011-08-12 06:34:04

标签: ruby

两种情况:

ruby-1.9.2-p180 > puts {}.class

 => NilClass

ruby-1.9.2-p180 > puts "a".class
String
 => nil

看起来puts {}.class相当于(puts {}).classputs "a".class相当于puts ("a".class)。为什么会这样?

1 个答案:

答案 0 :(得分:4)

它将{}视为块,而不是哈希。 RubyInside这样说,并且还展示了如何prove it using Ripper