在Ruby中,一个简单/优雅的方法是告诉特定的变量是一个Hash还是一个Array?

要检查@some_var是什么,我在做一个

if @some_var.class.to_s == 'Hash' 

我相信有一个更优雅的方式来检查@some_var是一个哈希或数组。

你可以做:

@some_var.class == Hash

或者类似的东西:

@some_var.is_a?(Hash)

值得注意的是“is_a?”如果类是对象祖先树中的任何地方,则方法为true。例如:

@some_var.is_a?(Object)  # => true

如果@some_var是哈希或其他源自Object的类的实例,则上面是真的。所以,如果你想对类类型进行严格匹配,使用==或instance_of?方法可能是你要找的。

http://stackoverflow.com/questions/5367114/what-is-a-simple-elegant-way-in-ruby-to-tell-if-a-particular-variable-is-a-has

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在Ruby中,一个简单/优雅的方法是告诉特定的变量是一个Hash还是一个Array?