def repeat
[X
] (x
:X, n
:Int
) : List
[X
] = { Nil
x :: repeat (x, n - 1)
}
val xs
:List
[(Char,Int
)] = List
(('a',
2),
('b',
4),
('c',
8))
val ys
= xs.
map ((p
:(Char,Int
)) => repeat
(p.
_1, p.
_2
))
val zs
= xs.
flatMap ((p
:(Char,Int
)) => repeat
(p.
_1, p.
_2
)) }
b2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewoJZGVmIHJlcGVhdCBbWF0gKHg6WCwgbjpJbnQpIDogTGlzdFtYXSA9IHsKICBpZiAobiA9PSAwKSAKICAgIE5pbAogIGVsc2UgCiAgICB4IDo6IHJlcGVhdCAoeCwgbiAtIDEpCn0KCnZhbCB4czpMaXN0WyhDaGFyLEludCldID0gTGlzdCAoKCdhJywgMiksICgnYicsIDQpLCAoJ2MnLCA4KSkKCnZhbCB5cyA9IHhzLm1hcCAoKHA6KENoYXIsSW50KSkgPT4gcmVwZWF0IChwLl8xLCBwLl8yKSkKCnZhbCB6cyA9IHhzLmZsYXRNYXAgKChwOihDaGFyLEludCkpID0+IHJlcGVhdCAocC5fMSwgcC5fMikpCn0=