aboutsummaryrefslogtreecommitdiff
path: root/challenge-261/barroff/raku/ch-2.p6
blob: 0e203e3ff5bf532a077fa8707990af1f609737cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env raku

use v6.d;

sub multiply-by-two(Int:D $start, @ints --> Int:D) {
    $start (elem) @ints ?? multiply-by-two(2 * $start, @ints) !! $start;
}

#| Run test cases
multi sub MAIN('test') {
    use Test;
    plan 3;

    is multiply-by-two(3, [5,3,6,1,12]), 24, 'works for 3 and (5, 3, 6, 1, 12)';
    is multiply-by-two(1, [1,2,4,3]), 8, 'works for 1 and (1, 2, 4, 3)';
    is multiply-by-two(2, [5,6,7]), 2, 'works for 2 and (5,6,7)';
}

#| Take user provided number like 10 1 111 24 1000
multi sub MAIN(Int:D $start, *@ints) {
    my Int:D @integer_ints = @ints.map: *.Int;
    say multiply-by-two($start.Int, @integer_ints);
}