Update ReadData to use a generic
This commit is contained in:
@@ -4,8 +4,7 @@ import 'package:aoc2020/model/readdata.dart';
|
|||||||
class AOC20201201 extends AOCBase {
|
class AOC20201201 extends AOCBase {
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<num>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileNum(filename);
|
|
||||||
for (var index1 = 0; index1 < mylist.length - 1; index1++) {
|
for (var index1 = 0; index1 < mylist.length - 1; index1++) {
|
||||||
for (var index2 = index1 + 1; index2 < mylist.length; index2++) {
|
for (var index2 = index1 + 1; index2 < mylist.length; index2++) {
|
||||||
if (mylist[index1] + mylist[index2] == 2020) {
|
if (mylist[index1] + mylist[index2] == 2020) {
|
||||||
@@ -17,8 +16,7 @@ class AOC20201201 extends AOCBase {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<num>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileNum(filename);
|
|
||||||
for (var index1 = 0; index1 < mylist.length - 1; index1++) {
|
for (var index1 = 0; index1 < mylist.length - 1; index1++) {
|
||||||
for (var index2 = index1 + 1; index2 < mylist.length; index2++) {
|
for (var index2 = index1 + 1; index2 < mylist.length; index2++) {
|
||||||
for (var index3 = index2 + 1; index3 < mylist.length; index3++) {
|
for (var index3 = index2 + 1; index3 < mylist.length; index3++) {
|
||||||
|
|||||||
@@ -5,8 +5,7 @@ import 'package:aoc2020/model/readdata.dart';
|
|||||||
class AOC20201202 extends AOCBase {
|
class AOC20201202 extends AOCBase {
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
var validPasswords = 0;
|
var validPasswords = 0;
|
||||||
for (var index = 0; index < mylist.length; index++) {
|
for (var index = 0; index < mylist.length; index++) {
|
||||||
var mysplit = mylist[index].split(' ');
|
var mysplit = mylist[index].split(' ');
|
||||||
@@ -23,8 +22,7 @@ class AOC20201202 extends AOCBase {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
var validPasswords = 0;
|
var validPasswords = 0;
|
||||||
for (var index = 0; index < mylist.length; index++) {
|
for (var index = 0; index < mylist.length; index++) {
|
||||||
var mysplit = mylist[index].split(' ');
|
var mysplit = mylist[index].split(' ');
|
||||||
|
|||||||
@@ -24,15 +24,13 @@ class AOC20201203 extends AOCBase {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
answerA = tobogganRide(hill: mylist, start: Point(0, 0), slope: Point(3, 1));
|
answerA = tobogganRide(hill: mylist, start: Point(0, 0), slope: Point(3, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
|
|
||||||
var slopes = <Point>[Point(1, 1), Point(3, 1), Point(5, 1), Point(7, 1), Point(1, 2)];
|
var slopes = <Point>[Point(1, 1), Point(3, 1), Point(5, 1), Point(7, 1), Point(1, 2)];
|
||||||
answerB = 0;
|
answerB = 0;
|
||||||
|
|||||||
@@ -76,17 +76,13 @@ class AOC20201204 extends AOCBase {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
|
|
||||||
answerA = processList(input: mylist, validatorFn: valid1);
|
answerA = processList(input: mylist, validatorFn: valid1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
|
|
||||||
answerB = processList(input: mylist, validatorFn: valid2);
|
answerB = processList(input: mylist, validatorFn: valid2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,8 +20,7 @@ class AOC20201205 extends AOCBase {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
var maxSeatId = 0;
|
var maxSeatId = 0;
|
||||||
for (var row in mylist) {
|
for (var row in mylist) {
|
||||||
var seat = calcSeat(row);
|
var seat = calcSeat(row);
|
||||||
@@ -33,8 +32,7 @@ class AOC20201205 extends AOCBase {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
var plane = List.generate(128, (i) => List.generate(8, (j) => false, growable: false), growable: false);
|
var plane = List.generate(128, (i) => List.generate(8, (j) => false, growable: false), growable: false);
|
||||||
|
|
||||||
for (var row in mylist) {
|
for (var row in mylist) {
|
||||||
|
|||||||
@@ -35,17 +35,13 @@ class AOC20201206 extends AOCBase {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
|
|
||||||
answerA = voterTabulation(rawList: mylist, isIntersection: false);
|
answerA = voterTabulation(rawList: mylist, isIntersection: false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
|
|
||||||
answerB = voterTabulation(rawList: mylist, isIntersection: true);
|
answerB = voterTabulation(rawList: mylist, isIntersection: true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,8 +106,7 @@ class AOC20201207 extends AOCBase {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
leaves = []; // Zero out list
|
leaves = []; // Zero out list
|
||||||
trees = [];
|
trees = [];
|
||||||
|
|
||||||
@@ -140,8 +139,7 @@ class AOC20201207 extends AOCBase {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
leaves = []; // Zero out list
|
leaves = []; // Zero out list
|
||||||
trees = [];
|
trees = [];
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,7 @@ import 'package:aoc2020/model/readdata.dart';
|
|||||||
class AOC20201208 extends AOCBase {
|
class AOC20201208 extends AOCBase {
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
Comp().reset();
|
Comp().reset();
|
||||||
var index = 0;
|
var index = 0;
|
||||||
var notDone = true;
|
var notDone = true;
|
||||||
@@ -21,8 +20,7 @@ class AOC20201208 extends AOCBase {
|
|||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var jmpList = <int>[];
|
var jmpList = <int>[];
|
||||||
var nopList = <int>[];
|
var nopList = <int>[];
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
var mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
for (var index = 0; index < mylist.length; index++) {
|
for (var index = 0; index < mylist.length; index++) {
|
||||||
var parse = mylist[index].split(' ');
|
var parse = mylist[index].split(' ');
|
||||||
if (parse[0] == 'jmp') jmpList.add(index);
|
if (parse[0] == 'jmp') jmpList.add(index);
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ class AOC20201209 extends AOCBase {
|
|||||||
int index;
|
int index;
|
||||||
var mylist = <num>[];
|
var mylist = <num>[];
|
||||||
|
|
||||||
void init(String filename, bool test) async {
|
void init(bool test) async {
|
||||||
mylist = await ReadData.readFileNum(filename);
|
mylist = await ReadData.readFile<num>(classString, test: test);
|
||||||
preamble = test ?? false ? testpreamble : runpreamble;
|
preamble = test ?? false ? testpreamble : runpreamble;
|
||||||
index = preamble;
|
index = preamble;
|
||||||
}
|
}
|
||||||
@@ -35,8 +35,7 @@ class AOC20201209 extends AOCBase {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
await init(filename, test);
|
|
||||||
for (index = preamble; index < mylist.length && testGroup(index); index++);
|
for (index = preamble; index < mylist.length && testGroup(index); index++);
|
||||||
if (index < mylist.length) {
|
if (index < mylist.length) {
|
||||||
answerA = mylist[index];
|
answerA = mylist[index];
|
||||||
@@ -47,8 +46,7 @@ class AOC20201209 extends AOCBase {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
await init(filename, test);
|
|
||||||
index = 0;
|
index = 0;
|
||||||
for (index = 0; index < mylist.length; index++) {
|
for (index = 0; index < mylist.length; index++) {
|
||||||
var mysum = sumTest(answerA, index);
|
var mysum = sumTest(answerA, index);
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201211 extends AOCBase {
|
class AOC20201211 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201212 extends AOCBase {
|
class AOC20201212 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201213 extends AOCBase {
|
class AOC20201213 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201214 extends AOCBase {
|
class AOC20201214 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201215 extends AOCBase {
|
class AOC20201215 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201216 extends AOCBase {
|
class AOC20201216 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201217 extends AOCBase {
|
class AOC20201217 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201218 extends AOCBase {
|
class AOC20201218 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201219 extends AOCBase {
|
class AOC20201219 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201220 extends AOCBase {
|
class AOC20201220 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201221 extends AOCBase {
|
class AOC20201221 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201222 extends AOCBase {
|
class AOC20201222 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201223 extends AOCBase {
|
class AOC20201223 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201224 extends AOCBase {
|
class AOC20201224 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ import 'package:aoc2020/aocbase.dart';
|
|||||||
import 'package:aoc2020/model/readdata.dart';
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
class AOC20201225 extends AOCBase {
|
class AOC20201225 extends AOCBase {
|
||||||
|
var mylist = <String>[];
|
||||||
|
|
||||||
|
void init(bool test) async {
|
||||||
|
mylist = await ReadData.readFile<String>(classString, test: test);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> a({bool test}) async {
|
Future<void> a({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> b({bool test}) async {
|
Future<void> b({bool test}) async {
|
||||||
var filename = (test ?? false) ? classStringTest : classString;
|
await init(test);
|
||||||
var mylist = await ReadData.readFileString(filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,29 +3,19 @@ import 'dart:io';
|
|||||||
class ReadData {
|
class ReadData {
|
||||||
static const prefix = 'lib/data/';
|
static const prefix = 'lib/data/';
|
||||||
|
|
||||||
static Future<List<String>> readFileString(String classString) async {
|
static Future<List<T>> readFile<T>(String classString, {bool test}) async {
|
||||||
var fileName = prefix + classString.toLowerCase() + '.data';
|
var fileName = prefix + classString.toLowerCase() + (test ?? false ? 'test' : '') + '.data';
|
||||||
var file = File(fileName);
|
var file = File(fileName);
|
||||||
var contents = <String>[];
|
var contents = <T>[];
|
||||||
|
|
||||||
// print('open file "$fileName"');
|
|
||||||
if (await file.exists()) {
|
|
||||||
contents = await File(fileName).readAsLines();
|
|
||||||
} else {
|
|
||||||
print('File "$fileName" not found.');
|
|
||||||
}
|
|
||||||
return contents;
|
|
||||||
}
|
|
||||||
|
|
||||||
static Future<List<num>> readFileNum(String classString) async {
|
|
||||||
var fileName = prefix + classString.toLowerCase() + '.data';
|
|
||||||
var file = File(fileName);
|
|
||||||
var contents = <num>[];
|
|
||||||
|
|
||||||
// print('open file "$fileName"');
|
// print('open file "$fileName"');
|
||||||
if (await file.exists()) {
|
if (await file.exists()) {
|
||||||
var contentStrings = await File(fileName).readAsLines();
|
var contentStrings = await File(fileName).readAsLines();
|
||||||
contents = contentStrings.map(num.parse).toList();
|
if (T == num) {
|
||||||
|
contents = contentStrings.map(num.parse).toList() as List<T>;
|
||||||
|
} else if (T == String) {
|
||||||
|
contents = contentStrings as List<T>;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
print('File "$fileName" not found.');
|
print('File "$fileName" not found.');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user