加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – grep在Hash上是什么意思?

发布时间:2020-12-16 19:17:29 所属栏目:百科 来源:网络整理
导读:{'a' = 'b'}.grep /a/= [] {'a' = 'b'}.grep /b/= [] 它似乎与键或值不匹配.它做了我不能辨别的事情吗? 解决方法 grep是在Enumerable上定义的,即它是一个对Hashes一无所知的通用方法.它可以运行Enumerable的任何元素. Ruby没有键值对的类型,它只是将哈希条
{'a' => 'b'}.grep /a/
=> []
>> {'a' => 'b'}.grep /b/
=> []

它似乎与键或值不匹配.它做了我不能辨别的事情吗?

解决方法

grep是在Enumerable上定义的,即它是一个对Hashes一无所知的通用方法.它可以运行Enumerable的任何元素. Ruby没有键值对的类型,它只是将哈希条目表示为双元素数组,其中第一个元素是键,第二个元素是值.

grep使用===方法过滤掉元素.既然都没有

/a/ === ['a','b']

也不

/b/ === ['a','b']

是的,你总是得到一个空数组作为响应.

试试这个:

def (t = Object.new).===(other)
  true
end

{'a' => 'b'}.grep t
# => [['a','b']]

在这里,您可以看到grep如何与Hashes一起使用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读