hash :: class返回fixnum,为什么不定义?

时间:2014-09-29 02:24:19

标签: ruby

hash::class

返回Fixnum,也许我是愚蠢的,但我不明白为什么这不会返回"未定义的局部变量或方法"。有人想开导我吗?

2 个答案:

答案 0 :(得分:2)

因为hash是一个返回数字的方法,而不是您怀疑的丢失变量。

具体来说,Ruby顶级正在上下文中执行,其中self是一个名为main的特殊对象,它是类Object。因此,它具有Object具有的所有方法,包括Object#hash

答案 1 :(得分:-2)

hash是Range类中的一个方法。它返回范围的Fixnum哈希码。 http://www.ruby-doc.org/core-2.1.3/Range.html#method-i-hash