APIdock / Ruby
/
method

hash

ruby latest stable - Class: Range
hash()
public

Compute a hash-code for this range. Two ranges with equal begin and end points (using eql?), and the same #exclude_end? value will generate the same hash-code.

See also Object#hash.

static VALUE
range_hash(VALUE range)
{
 st_index_t hash = EXCL(range);
 VALUE v;
 hash = rb_hash_start(hash);
 v = rb_hash(RANGE_BEG(range));
 hash = rb_hash_uint(hash, NUM2LONG(v));
 v = rb_hash(RANGE_END(range));
 hash = rb_hash_uint(hash, NUM2LONG(v));
 hash = rb_hash_uint(hash, EXCL(range) << 24);
 hash = rb_hash_end(hash);
 return LONG2FIX(hash);
}

AltStyle によって変換されたページ (->オリジナル) /