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

use v6.d;

sub range-sum(Int $x, Int $y, @ints --> Int) {
    sum(@ints[$x..$y]);
}

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

    is range-sum(0, 2, [-2, 0, 3, -5, 2, -1]), 1,
        'works for "[-2, 0, 3, -5, 2, -1]"';
    is range-sum(1, 3, [1, -2, 3, -4, 5]), -3, 'works for "[1, -2, 3, -4, 5]"';
    is range-sum(3, 4, [1, 0, 2, -1, 3]), 2, 'works for "[1, 0, 2, -1, 3]"';
    is range-sum(0, 3, [-5, 4, -3, 2, -1, 0]), -2,
        'works for "[-5, 4, -3, 2, -1, 0]"';
    is range-sum(0, 2, [-1, 0, 2, -3, -2, 1]), 1,
        'works for "[-1, 0, 2, -3, -2, 1]"';
}

#| Take user provided numbers like 0 2 -2 0 3 -5 2 -1
multi sub MAIN(Int $x, Int $y, *@ints) {
    say range-sum($x, $y, @ints);
}