开发者社区 问答 正文

在Ruby中,有什么优雅的方法可以判断变量是哈希还是数组?

为了检查是什么@some_var,我正在做一个

if @some_var.class.to_s == 'Hash' 我敢肯定有一种更优雅的方法来检查@some_vara Hash或an Array。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-07 01:29:16 711 分享 版权
1 条回答
写回答
取消 提交回答
  • 您可以这样做:

    @some_var.class == Hash 或类似的东西:

    @some_var.is_a?(Hash) 值得注意的是“ is_a?” 如果该类在对象祖先树中的任何位置,则方法为true。例如:

    @some_var.is_a?(Object) # => true 如果@some_var是源自Object的哈希或其他类的实例,则以上内容适用。因此,如果要对类类型进行严格匹配,请使用==或instance_of?方法可能是您要寻找的。

    2020-02-07 01:29:29
    赞同 展开评论