9.1. Working with Sets
We’ve already seen how certain methods of the Array class let it serve as an acceptable representation of a mathematical set. But for a little more rigor and a little tighter coding, Ruby has a Set class that hides more of the detail from the programmer.
A simple require makes the Set class available:
require 'set'
This also adds a to_set method to Enumerable so that any enumerable object can be converted to a set.
Creating a new set is easy. The [] method works much as for hashes. The new method takes an optional enumerable object and an optional block. If the block is specified, it is used as a kind of “preprocessor” for the list (like a map operation).
s1 = Set[3,4,5] # {3,4,5} in math notation arr = [3,4,5] s2 = Set.new(arr) ...
Get The Ruby Way: Solutions and Techniques in Ruby Programming, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.