Редактировать Исправлено сообщение с комментатором toro2k.В чем разница между `Range # include?` И `Range # cover?`?
Range#include?
и Range#cover?
кажутся разными, как показано в исходном коде 1, 2, и они отличаются по эффективности.
t = Time.now
500000.times do
("a".."z").include?("g")
end
puts Time.now - t # => 0.504382493
t = Time.now
500000.times do
("a".."z").cover?("g")
end
puts Time.now - t # => 0.454867868
Глядя на исходный код, Range#include?
кажется более сложным, чем Range#cover?
. Почему не может Range#include?
быть просто псевдонимом Range#cover?
В чем их отличие?
Я тоже был озадачен этим. См. Мой [ответ здесь] (http://stackoverflow.com/questions/21507117/select-arrays-between-date-ranges-with-ruby/21507252#21507252). –