File: C:/Ruby27-x64/share/ri/2.7.0/system/Set/cdesc-Set.ri
U:RDoc::NormalClass[iI"Set:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[ :
@fileI"!ext/json/lib/json/add/set.rb;T:0@omit_headings_from_table_of_contents_below0o;;[o:RDoc::Markup::Paragraph;[I"ISet implements a collection of unordered values with no duplicates. ;TI"JThis is a hybrid of Array's intuitive inter-operation facilities and ;TI"Hash's fast lookup.;To:RDoc::Markup::BlankLine o;;[ I"GSet is easy to use with Enumerable objects (implementing +each+). ;TI"IMost of the initializer methods and binary operators accept generic ;TI"GEnumerable objects besides sets and arrays. An Enumerable object ;TI"7can be converted to Set using the +to_set+ method.;T@o;;[I"ESet uses Hash as storage, so you must note the following points:;T@o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;;[I"EEquality of elements is determined according to Object#eql? and ;TI"EObject#hash. Use Set#compare_by_identity to make a set compare ;TI"$its elements by their identity.;To;;0;[o;;[I"CSet assumes that the identity of each element does not change ;TI"Hwhile it is stored. Modifying an element of a set will render the ;TI" set to an unreliable state.;To;;0;[o;;[I"CWhen a string is to be stored, a frozen copy of the string is ;TI"Astored instead unless the original string is already frozen.;T@S:RDoc::Markup::Heading:
leveli: textI"Comparison;T@o;;[ I"BThe comparison operators <, >, <=, and >= are implemented as ;TI"Hshorthand for the {proper_,}{subset?,superset?} methods. However, ;TI"Jthe <=> operator is intentionally left out because not every pair of ;TI"8sets is comparable ({x, y} vs. {x, z} for example).;T@S;;i;I"Example;T@o:RDoc::Markup::Verbatim;[
I"require 'set'
;TI">s1 = Set[1, 2] #=> #<Set: {1, 2}>
;TI">s2 = [1, 2].to_set #=> #<Set: {1, 2}>
;TI"4s1 == s2 #=> true
;TI"Es1.add("foo") #=> #<Set: {1, 2, "foo"}>
;TI"Hs1.merge([2, 6]) #=> #<Set: {1, 2, "foo", 6}>
;TI"5s1.subset?(s2) #=> false
;TI"4s2.subset?(s1) #=> true
;T:@format0S;;i;I"Contact;T@o;;[I"<- Akinori MUSHA <knu@iDaemons.org> (current maintainer);T;0; I"lib/set.rb;T;
0; 0;
0[ [ [[I"Enumerable;To;;[ ; I"lib/set.rb;T;
0I"../ruby-2.7.7/lib/set.rb;T[[I"
class;T[[:public[[I"[];T@W[I"json_create;TI"/../ruby-2.7.7/ext/json/lib/json/add/set.rb;T[I"new;T@W[:protected[ [:private[ [I"
instance;T[[;[>[I"&;T@W[I"+;T@W[I"-;T@W[I"<;T@W[I"<<;T@W[I"<=;T@W[I"==;T@W[I"===;T@W[I">;T@W[I">=;T@W[I"^;T@W[I"add;T@W[I" add?;T@W[I"as_json;T@b[I"
classify;T@W[I"
clear;T@W[I"
collect!;T@W[I"compare_by_identity;T@W[I"compare_by_identity?;T@W[I"delete;T@W[I"delete?;T@W[I"delete_if;T@W[I"difference;T@W[I"disjoint?;T@W[I"divide;T@W[I" each;T@W[I"empty?;T@W[I"filter!;T@W[I"flatten;T@W[I"
flatten!;T@W[I"
include?;T@W[I"initialize_clone;T@W[I"initialize_dup;T@W[I"inspect;T@W[I"intersect?;T@W[I"intersection;T@W[I"keep_if;T@W[I"length;T@W[I" map!;T@W[I"member?;T@W[I"
merge;T@W[I"proper_subset?;T@W[I"proper_superset?;T@W[I"reject!;T@W[I"replace;T@W[I"
reset;T@W[I"select!;T@W[I" size;T@W[I"subset?;T@W[I"
subtract;T@W[I"superset?;T@W[I" to_a;T@W[I"to_json;T@b[I" to_s;T@W[I"to_set;T@W[I"
union;T@W[I"|;T@W[;[ [;[ [ [U:RDoc::Context::Section[i 0o;;[ ; 0;
0[I"!ext/json/lib/json/add/set.rb;T@V@NcRDoc::TopLevel