Anonymous user
Visualize a tree: Difference between revisions
→{{header|Elena}}
Line 514:
`-- (null)</pre>
=={{header|Elena}}==
ELENA 3.2 :
import extensions.
class Node
Line 522 ⟶ 523:
object theChildren.
constructor new : value
[
theValue := value.
Line 530 ⟶ 531:
constructor new : value
<= new:value
constructor new
<= new:emptyLiteralValue
constructor new : value
<= new:value
get = theValue.
Line 545 ⟶ 546:
extension treeOp
{
writeTree : node : prefix
[
var children := node
var length := children length.
children zip
[
self
self
var nodeLine := prefix + (index==length)iif
self writeTree
].
Line 563 ⟶ 564:
]
writeTree : node
= self~treeOp writeTree
}
program =
[
var tree := Node new
(
Node new:"a"
(
Node new:"b"
Node new:"d"
),
Line 579 ⟶ 580:
).
console writeTree
].</lang>
{{out}}
|