Ruby’s ::new Class

::new is a class method: it creates an instance of the class.

Ruby generally offers two ways to create an object. For example the Array object can be created the following ways:

  • array1 = (the ::new class method)
  • array2 = [] (a shorthand method)

Functionnally and speed is the same, however can be called passing in a block, while [] cannot.

Codes behing written for people first, linter such as Rubocop prefers 1 [] for creating empty Array and when creating an Array object, passing in parameter n.