1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| class Msg(val id: Int, val parent: Option[Int], val text: String)
def printMessages(messages: Array[Msg]): Unit = {
for (message <- messages) {
var indent: Int = 0
message.parent match {
case Some(parent) => indent = parent + 2
case None => indent = 0
}
println(" " * indent + s"#${message.id} ${message.text}")
}
}
printMessages(Array[Msg](
new Msg(0, None, "Hello"),
new Msg(1, Some(0), "World"),
new Msg(2, None, "I am Cow"),
new Msg(3, Some(2), "Here me moo"),
new Msg(4, Some(2), "Here I stand"),
new Msg(5, Some(2), "I am Cow"),
new Msg(6, Some(5), "Here me moo, moo"),
))
|