On Friday, 24 November 2017 at 09:59:13 UTC, Vino wrote:

if (args.length < 1 || args.length > 2) {
        writeln(args[0].baseName, ":No Arguments Provided");
        exit(-1);
                }

When you pass no arguments, this won't execute as args.length will still be 1, the only argument being the path to the executable -- args[0], of which you are apparently already aware. The if conditional should be this to test for no args:

if(args.length == 1)

string op = args[1];

Because the above conditional passes when you pass no args, this causes a range violation since args[1] doesn't exist.

Reply via email to