P12 - 解码修改后的行程编码。

作者:Ryan Connelly

示例

> say decode(([5, "a"], [2, "b"], "c", "b", "d", [2, "e"]).list).perl;
("a", "a", "a", "a", "a", "b", "b", "c", "b", "d", "e", "e").list

源代码: P12-topo.pl

use v6;

sub decode(@list)
{
    gather for @list -> $e
    {
        $e !~~ Array ?? take($e) !! take(($e[1] xx $e[0]).list)
    }
}

say decode(([5, "a"], [2, "b"], "c", "b", "d", [2, "e"]).list).flat.list.perl;