Two cases:
ruby-1.9.2-p180 > puts {}.class
=> NilClass
and
ruby-1.9.2-p180 > puts "a".class
String
=> nil
It looks like puts {}.class is equivalent to (puts {}).class and puts "a".class is equivalent to puts ("a".class). Why is it so?
It's treating {} as a block, not as a hash. RubyInside says so, and also shows how you can prove it using Ripper.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With