Сценарий должен проверить, присутствует ли один предопределенный 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? но я хотел бы знать: Is array.include? метод, который даст мне самый быстрый результат?
Используйте Hash или Set вместо массива – Phrogz
Читать http://ruby-doc.org/core-1.9.3/Enumerable.html перед любым программирования Ruby. – tokland
Вы можете использовать метод 'include?', Определенный в классе 'Array', чтобы сделать эту операцию более аккуратной, я не уверен, что она увеличит скорость поиска намного –