ruby - Ruby 中判断变量是散列还是数组的优雅方法是什么?

标签 ruby arrays hash

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

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

我确信有一种更优雅的方法来检查 @some_varHash 还是 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/

相关文章:

ruby - 使用 wxRuby 的问题

Ruby 从文件开头连续读取

c++ - 指向整个数组的指针

hash - 一致性哈希中副本和虚拟节点的区别

ruby - 用Ruby中的哈希值总结对象区域

asp.net - 将 asp.net 应用程序转换为使用 asp.net 表单例份验证 - SQL Server 中的密码散列

ruby-on-rails - Ruby on Rails 接受发布请求

ruby-on-rails - 如何在 ruby​​ 递归调用期间保持值(value)

javascript - 在 Angular 中将对象数组传递给 POST

c - 初始化大型双数组时出现问题