Materialise
Materialise (⌷
) is a monadic primitive function which tries to cast the argument (which can be any object) into an APL array. If the argument is already an array, it is returned unmodified. It is only available in Dyalog APL, which supports classes and .NET objects. Materialise shares its glyph <source lang=apl inline>⌷</syntaxhighlight> with Index.
Examples
Dyalog APL allows the user to define a class, which looks like the following:
<source lang=apl>
- Class cl
:Property Default thing :Access Public Shared ∇ r←get r←3 1 4 1 4 ∇ :EndProperty
- EndClass
</syntaxhighlight>
If one property is declared as default, Materialise returns the value of the default property.
<source lang=apl>
⊢cl ⍝ It is an object
- .cl
⌷cl ⍝ ⌷ casts cl to an array by getting the default property
3 1 4 1 4
cl.thing ⍝ Actual effect of the line above
3 1 4 1 4
</syntaxhighlight>
Materialise can also be used on a .NET collection, which returns the underlying array of data.
<source lang=apl>
ba←⎕NEW System.Collections.BitArray(⊂1 0 1 1 0) ⍬≡⍴ba ⍝ ba itself is a scalar object
1
⍴⌷ba ⍝ but it is actually a container of 5 values
5
</syntaxhighlight>
Materialise is the same as Identity for APL arrays.
<source lang=apl>
(⌷≡⊢) 1 2 3 4 5
1
</syntaxhighlight>
External links
Tutorials
Documentation