Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
proc
/
thread-self
/
root
/
proc
/
self
/
root
/
opt
/
ruby-2.7
/
usr
/
share
/
ri
/
2.7.0
/
system
/
Set
/
//proc/thread-self/root/proc/self/root/opt/ruby-2.7/usr/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"../lib/set.rb;T[[I" class;T[[:public[[I"[];T@W[I"json_create;TI"$../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