Jump to content

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}}==
1,462

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.