Multi-dimensional array: Difference between revisions
Added Quackery.
(Added FreeBASIC) |
(Added Quackery.) |
||
Line 2,304:
[ 0, 0, 0, 0, 0]]]], dtype=int8)
>>> </syntaxhighlight>
=={{header|Quackery}}==
Quackery does not come supplied with multi-dimensional arrays. This is an idiomatic implementation using nests of nests.
Row or column major implementations are also possible. Quackery is not based on a contiguous static memory model.
<syntaxhighlight lang="Quackery"> [ this ] is null ( --> [ )
[ dip nested
reverse
witheach
[ of i if nested ] ] is array ( [ --> a )
[ witheach peek ] is [peek] ( [ a --> x )
[ dup dip
[ rot dip
[ -1 split drop
witheach
[ dip dup peek ] ] ]
reverse
witheach
[ dip swap poke ] ] is [poke] ( x a [ --> a )
null ' [ 5 4 3 2 ] array
say "[ 5 4 3 2 ] array created, initialised with nulls."
cr
cr
2 swap ' [ 3 2 1 0 ] [poke]
say "2 stored in [ 3 2 1 0 ]."
cr
4 swap ' [ 4 3 2 1 ] [poke]
say "4 stored in [ 4 3 2 1 ]."
cr
8 swap ' [ 4 3 2 1 ] [poke]
say "8 stored in [ 4 3 2 1 ]."
cr
cr
dup ' [ 0 0 0 0 ] [peek] echo
say " copied from [ 0 0 0 0 ]."
cr
dup ' [ 3 2 1 0 ] [peek] echo
say " copied from [ 3 2 1 0 ]."
cr
' [ 4 3 2 1 ] [peek] echo
say " copied from [ 4 3 2 1 ]."
cr</syntaxhighlight>
{{out}}
<pre>[ 5 4 3 2 ] array created, initialised with nulls.
2 stored in [ 3 2 1 0 ].
4 stored in [ 4 3 2 1 ].
8 stored in [ 4 3 2 1 ].
null copied from [ 0 0 0 0 ].
2 copied from [ 3 2 1 0 ].
8 copied from [ 4 3 2 1 ].
</pre>
=={{header|Racket}}==
|