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);
}
|