为了检查 @some_var
是什么,我正在做一个
if @some_var.class.to_s == 'Hash'
我确信有一种更优雅的方法来检查 @some_var
是 Hash
还是 Array
。
最佳答案
你可以这样做:
@some_var.class == Hash
或者类似的东西:
@some_var.is_a?(Hash)
值得注意的是“is_a?”如果类位于对象祖先树中的任何位置,则方法为真。例如:
@some_var.is_a?(Object) # => true
如果@some_var 是散列或其他源自 Object 的类的实例,则上述内容为真。所以,如果你想严格匹配类类型,使用 == 或 instance_of?方法可能是你要找的。
关于ruby - Ruby 中判断变量是散列还是数组的优雅方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5367114/