Ruby正则表达式密钥搜索
发布时间:2020-12-17 04:29:00 所属栏目:百科 来源:网络整理
导读:http://ruby-doc.org/core-1.9.3/Hash.html#method-i-include-3F 可以将hash.has_key?(String)转换为具有正则表达式搜索功能? 解决方法 我建议用新方法扩展Hash而不是替换has_key?. class Hash def has_rkey?(search) search = Regexp.new(search.to_s) u
http://ruby-doc.org/core-1.9.3/Hash.html#method-i-include-3F
可以将hash.has_key?(String)转换为具有正则表达式搜索功能? 解决方法
我建议用新方法扩展Hash而不是替换has_key?.
class Hash def has_rkey?(search) search = Regexp.new(search.to_s) unless search.is_a?(Regexp) !!keys.detect{ |key| key =~ search } end end 这将使用字符串,符号或正则表达式作为参数. irb> h = {:test => 1} => {:test=>1} irb> h.has_rkey?(:te) => true irb> h.has_rkey?("te") => true irb> h.has_rkey?(/te/) => true irb> h.has_rkey?("foo") => false irb> h.has_rkey?(:foo) => false irb> h.has_rkey?(/foo/) => false (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |