В дополнение к ответу Грега Хьюгилла, исходный код Ruby 1.9.3 для этого метода:
VALUE
rb_ary_includes(VALUE ary, VALUE item)
{
long i;
for (i=0; i<RARRAY_LEN(ary); i++) {
if (rb_equal(RARRAY_PTR(ary)[i], item)) {
return Qtrue;
}
}
return Qfalse;
}
Таким образом, как сказал Грег, алгоритм представляет собой просто линейный поиск по массиву.