Tree from nesting levels: Difference between revisions

Content added Content deleted
(Added Quackery.)
Line 1,847: Line 1,847:
[[[3, 3, 3]], 1, 1, [[3, 3, 3]]]
[[[3, 3, 3]], 1, 1, [[3, 3, 3]]]
and back to: [3, 3, 3, 1, 1, 3, 3, 3]</pre>
and back to: [3, 3, 3, 1, 1, 3, 3, 3]</pre>

=={{header|Quackery}}==

<lang Quackery> [ stack ] is prev ( --> s )

[ temp take
swap join
temp put ] is add$ ( x --> )

[ dup [] = if done
0 prev put
$ "' " temp put
witheach
[ dup prev take -
over prev put
dup 0 > iff
[ times
[ $ "[ " add$ ] ]
else
[ abs times
[ $ "] " add$ ] ]
number$ space join add$ ]
prev take times
[ $ "] " add$ ]
temp take quackery ] is nesttree ( [ --> [ )

' [ [ ]
[ 1 2 4 ]
[ 3 1 3 1 ]
[ 1 2 3 1 ]
[ 3 2 1 3 ]
[ 3 3 3 1 1 3 3 3 ] ]

witheach
[ dup echo say " --> "
nesttree echo cr cr ]</lang>

{{out}}

<pre>[ ] --> [ ]

[ 1 2 4 ] --> [ 1 [ 2 [ [ 4 ] ] ] ]

[ 3 1 3 1 ] --> [ [ [ 3 ] ] 1 [ [ 3 ] ] 1 ]

[ 1 2 3 1 ] --> [ 1 [ 2 [ 3 ] ] 1 ]

[ 3 2 1 3 ] --> [ [ [ 3 ] 2 ] 1 [ [ 3 ] ] ]

[ 3 3 3 1 1 3 3 3 ] --> [ [ [ 3 3 3 ] ] 1 1 [ [ 3 3 3 ] ] ]
</pre>


=={{header|Raku}}==
=={{header|Raku}}==