First of all thanks to all guys who has shown interest in my post.

Keeping in mind @Matthew's instructions I did the below. Hope now I am 
able to clear my question once again to all the Experts out there.

C:\>irb --simple-prompt --noecho
>> {}.class
>> [].class
>> (1..2).class
>> puts (1..2).class
Range
>> puts [].class
Array
>> puts {}.class
>> print {}.class
>> p {}.class

Very strange behaviour `{}.class` is showing with every printing 
statement. But which is not the case with `[]` and `(1..2)`. Now to see 
the class `{}` I am requiring to add `()`. ~~~ actually my question was 
why I need to do add `()` that with `{}` only, which is not needed with 
`[]` and `(1..3)` ?

>> puts ({}.class)
Hash
>> p ({}.class)
Hash
>> print ({}.class)
Hash>>

Please let me know if you have any confusion to understand.

-- 
Posted via http://www.ruby-forum.com/.