什么是Array#包含的算法?使用?

loc*_*boy 0 ruby arrays

对于ruby where x数组,如何x.include?(y)检查是否yx?什么是算法?

bla*_*man 6

作为Greg Hewgill答案的补充,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;
}
Run Code Online (Sandbox Code Playgroud)

因此,正如Greg所说,算法只是通过数组的线性搜索.