ruby - 为什么 hash.keys.class 返回数组?

标签 ruby

刚接触 Ruby,我只是缺少一些基本的东西。哈希中的键本身是否被视为数组?

最佳答案

是的,Hash#keys 将哈希的键作为数组返回,即 Hash#keys 返回的哈希和数组彼此完全独立:

a = {}
b = a.keys
c = a.keys

b << :foo

a   # still {}
b   # [:foo]
c   # still []

a[:bar] = :baz

a   # {:bar => :baz}
b   # still [:foo]
c   # still []

关于ruby - 为什么 hash.keys.class 返回数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6337592/

相关文章:

ruby - 奇怪的 NoMethodError(未定义方法 `name' 为 nil :NilClass)

jquery - 使用jquery和rails向表添加行

ruby - 1 :Fixnum 的未定义方法 `year'

ruby - 优化的字符串插入算法

ruby - 强制在 Ruby 中调用 Kernel::method_name

java - 验证硬退回的电子邮件 ID

ruby - 如何使用socksify gem(代理)抓取网站

ruby - | 之间有什么区别?与||

ruby - 继承/混合方法是原始方法的副本吗?

ruby-on-rails - 我怎样才能取消转义这个查询字符串