The Default Property

A single Numbered Property may be identified as the Default Property for the Class. If a Class has a Default Property, indexing with the primitive function and [...] indexing may be applied to the Property directly via a reference to the Class or Instance.

The Numbered Property example of the ComponentFile Class can be extended by adding the control word Default to the :Property statement for the Component Property.

Indexing may now be applied directly to the Instance F1. In essence, F1[n] is simply shorthand for F1.Component[n] and n⌷F1 is shorthand for n⌷F1.Component

    :Property Numbered Default Component
    :Access Public Instance
         rshape
          r¯1+2⎕FSIZE tie
        
         rget arg
          r⎕FREAD tie arg.Indexers
        
         set arg
          arg.NewValue ⎕FREPLACE tie,arg.Indexers
        
    :EndProperty

      F1⎕NEW ComponentFile 'test1'
      F1.Append¨(5)×⊂⍳4
1 2 3 4 5
      F1.Count
5

      F1[4]
 4 8 12 16
      (4 3)F1
 4 8 12 16  3 6 9 12 
      ((4 3)F1)'Hello' 'World'
      F1[3]
 World

Note however that this feature applies only to indexing.

      4F1
DOMAIN ERROR
      4F1
     ^