aboutsummaryrefslogtreecommitdiff
path: root/challenge-070/arne-sommer/raku/charswap-node
blob: f7768133fca007447e547f668130d512a55e63a5 (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
28
29
30
31
32
33
34
35
36
37
38
#! /usr/bin/env node

var S = process.argv[2] || 'perlandraku';
var N = S.length;
var O = process.argv[3] || 4;
var C = process.argv[4] || 3;

let die = (message) => {
    console.log(message);
    process.kill(process.pid);
};

var OO = parseInt(O);

if (OO != O || O < 1)
    die('O: Integer >= 1 only');

var CC = parseInt(C);

if (CC != C || C < 1)
    die('C: Integer >= 1 only');

if (C >= O)
    die('C: Must be < O');

if (CC + OO > N)
    die('C + O: Must be <= N');

for (index = 1; index <= CC; index++)
{
    S = S.slice(0, index)
	+ S.charAt(index + OO)
	+ S.slice(index +1, index + OO)
	+ S.charAt(index)
	+ S.slice(index + OO +1);
}

console.log(S);