Skip to content

Commit 05c57e9

Browse files
committed
Add more CLI arguments
1 parent 20cb0ab commit 05c57e9

File tree

1 file changed

+24
-16
lines changed

1 file changed

+24
-16
lines changed

lib/AdvDiv.dart

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,18 @@ String? advdiv(String n1, String n2, [final String minstr = "-", final String de
2626
return null;
2727

2828
if(n1.startsWith(minstr)) {
29-
n1 = n1.replaceFirst(minstr, "");
29+
n1 = n1.substring(minstr.length);
3030
neg = true;
3131
};
3232
if(n2.startsWith(minstr)) {
33-
n2 = n2.replaceFirst(minstr, "");
33+
n2 = n2.substring(minstr.length);
3434
neg = !neg;
3535
};
3636

3737
sign = neg ? minstr : "";
3838

39-
n1 = n1.replaceAll(decstr, ".");
40-
n2 = n2.replaceAll(decstr, ".");
39+
n1 = n1.replaceFirst(decstr, ".");
40+
n2 = n2.replaceFirst(decstr, ".");
4141

4242
if(n1[0]==".")
4343
n1 = "0"+n1;
@@ -83,9 +83,8 @@ String? advdiv(String n1, String n2, [final String minstr = "-", final String de
8383
if(r1.length > 1)
8484
r1 = r1.substring(1)+r1[0];
8585
}
86-
else {
86+
else
8787
n1 = times10(n1);
88-
};
8988
n2 = times10(n2);
9089
if(n1.endsWith(".0") && r1=="0")
9190
n1 = n1.replaceFirst(".0", "");
@@ -151,15 +150,24 @@ String? advdiv(String n1, String n2, [final String minstr = "-", final String de
151150
}
152151

153152
void main(List<String> args) {
154-
String n1, n2;
155-
156-
if(args.length < 2) {
157-
print("Usage: advdiv n1 n2");
158-
return;
153+
switch(args.length) {
154+
case 6:
155+
print(advdiv(args[0], args[1], args[2], args[3], args[4], args[5]) ?? "Error");
156+
break;
157+
case 5:
158+
print(advdiv(args[0], args[1], args[2], args[3], args[4], "") ?? "Error");
159+
break;
160+
case 4:
161+
print(advdiv(args[0], args[1], args[2], args[3]) ?? "Error");
162+
break;
163+
case 3:
164+
print(advdiv(args[0], args[1], args[2]) ?? "Error");
165+
break;
166+
case 2:
167+
print(advdiv(args[0], args[1]) ?? "Error");
168+
break;
169+
default:
170+
print("Usage: advdiv n1 n2");
171+
return;
159172
};
160-
161-
n1 = args[0];
162-
n2 = args[1];
163-
164-
print(advdiv(n1, n2) ?? "Error");
165173
}

0 commit comments

Comments
 (0)