4,494
edits
(Created page with "{{Built-in|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 alrea...") |
m (Text replacement - "<source" to "<syntaxhighlight") |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Built-in|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]] < | {{Built-in|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]] <syntaxhighlight lang=apl inline>⌷</syntaxhighlight> with [[Index (function)|Index]]. | ||
== Examples == | == Examples == | ||
Line 5: | Line 5: | ||
Dyalog APL allows the user to define a class, which looks like the following: | Dyalog APL allows the user to define a class, which looks like the following: | ||
< | <syntaxhighlight lang=apl> | ||
:Class cl | :Class cl | ||
:Property Default thing | :Property Default thing | ||
Line 14: | Line 14: | ||
:EndProperty | :EndProperty | ||
:EndClass | :EndClass | ||
</ | </syntaxhighlight>{{Works in|[[Dyalog APL]]}} | ||
If one property is declared as default, Materialise returns the value of the default property. | If one property is declared as default, Materialise returns the value of the default property. | ||
< | <syntaxhighlight lang=apl> | ||
⊢cl ⍝ It is an object | ⊢cl ⍝ It is an object | ||
#.cl | #.cl | ||
Line 25: | Line 25: | ||
cl.thing ⍝ Actual effect of the line above | cl.thing ⍝ Actual effect of the line above | ||
3 1 4 1 4 | 3 1 4 1 4 | ||
</ | </syntaxhighlight>{{Works in|[[Dyalog APL]]}} | ||
Materialise can also be used on a .NET collection, which returns the underlying array of data. | Materialise can also be used on a .NET collection, which returns the underlying array of data. | ||
< | <syntaxhighlight lang=apl> | ||
ba←⎕NEW System.Collections.BitArray(⊂1 0 1 1 0) | ba←⎕NEW System.Collections.BitArray(⊂1 0 1 1 0) | ||
⍬≡⍴ba ⍝ ba itself is a scalar object | ⍬≡⍴ba ⍝ ba itself is a scalar object | ||
Line 35: | Line 35: | ||
⍴⌷ba ⍝ but it is actually a container of 5 values | ⍴⌷ba ⍝ but it is actually a container of 5 values | ||
5 | 5 | ||
</ | </syntaxhighlight>{{Works in|[[Dyalog APL]]}} | ||
Materialise is the same as [[Identity]] for APL arrays. | Materialise is the same as [[Identity]] for APL arrays. | ||
< | <syntaxhighlight lang=apl> | ||
(⌷≡⊢) 1 2 3 4 5 | (⌷≡⊢) 1 2 3 4 5 | ||
1 | 1 | ||
</ | </syntaxhighlight>{{Works in|[[Dyalog APL]]}} | ||
== External links == | == External links == |