Skrypt musi sprawdzić, czy jeden predefiniowany adres IP jest obecny w dużej liczbie adresów IP. Obecnie kod, który funkcjonuje jak to (mówiąc, że „IPS” jest moją tablicą IP i „IP” jest predefiniowany ip)Najszybszy sposób znalezienia ciągu znaków w tablicy ciągów
ips.each do |existsip|
if ip == existsip
puts "ip exists"
return 1
end
end
puts "ip doesn't exist"
return nil
Czy istnieje szybszy sposób, aby zrobić to samo?
Edytuj: Mogłem się niesłusznie wyrazić. Mogę zrobić array.include? ale chciałbym wiedzieć: Czy tablica.include? metoda, która da mi najszybszy wynik?
Użyj Hash lub Ustaw zamiast tablicy – Phrogz
Czytaj http://ruby-doc.org/core-1.9.3/Enumerable.html przed każdym programowania Ruby. – tokland
Możesz użyć metody 'include?' Zdefiniowanej w klasie 'Array', aby ta operacja wyglądała ładniej, nie jestem pewna, czy zwiększy ona prędkość wyszukiwania o wiele więcej niż możliwy –