脚本必须验证一个预定义的IP是否存在于大量IP中.目前我的代码是这样的功能(说“ips”是我的IP数组,“ip”是预定义的ip)
ips.each do |existsip| if ip == existsip puts "ip exists" return 1 end end puts "ip doesn't exist" return nil
有更快的方式做同样的事情吗?
编辑:我可能错了表示自己.我可以做array.include吗但我想知道的是:array.include?该方法会给我最快的结果?
解决方法
您可以使用
Set.它在Hash之上实现,对于大数据集(O(1))将会更快.
require 'set' s = Set.new ['1.1.1.1','1.2.3.4'] # => #<Set: {"1.1.1.1","1.2.3.4"}> s.include? '1.1.1.1' # => true