--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: Creates a new class, named by <em>aString</em>, containing accessor methods for the given symbols. If the name <em>aString</em> is omitted, an anonymous structure class will be created. Otherwise, the name of this struct will appear as a constant in class <tt>Struct</tt>, so it must be unique for all <tt>Struct</tt>s in the system and should start with a capital letter. Assigning a structure class to a constant effectively gives the class the name of the constant.
- !ruby/struct:SM::Flow::P 
  body: <tt>Struct::new</tt> returns a new <tt>Class</tt> object, which can then be used to create specific instances of the new structure. The number of actual parameters must be less than or equal to the number of attributes defined for this class; unset parameters default to \nil{}. Passing too many parameters will raise an \E{ArgumentError}.
- !ruby/struct:SM::Flow::P 
  body: The remaining methods listed in this section (class and instance) are defined for this generated class.
- !ruby/struct:SM::Flow::VERB 
  body: "   # Create a structure with a name in Struct\n   Struct.new(&quot;Customer&quot;, :name, :address)    #=&gt; Struct::Customer\n   Struct::Customer.new(&quot;Dave&quot;, &quot;123 Main&quot;)   #=&gt; #&lt;Struct::Customer name=&quot;Dave&quot;, address=&quot;123 Main&quot;&gt;\n\n   # Create a structure named by its constant\n   Customer = Struct.new(:name, :address)     #=&gt; Customer\n   Customer.new(&quot;Dave&quot;, &quot;123 Main&quot;)           #=&gt; #&lt;Customer name=&quot;Dave&quot;, address=&quot;123 Main&quot;&gt;\n"
full_name: Struct::new
is_singleton: true
name: new
params: |
  Struct.new( [aString] [, aSym]+> )    => StructClass
  StructClass.new(arg, ...)             => obj
  StructClass[arg, ...]                 => obj

visibility: public
