A String object has an arbitrary sequence of bytes, typically representing text or binary data. A String object may be created using String::new or as literals.| ruby-doc.org
A Range object represents a collection of values that are between given begin and end values.| ruby-doc.org
A Hash maps each of its unique keys to a specific value.| ruby-doc.org