| 1234567891011121314151617181920212223242526272829 |
- using System.Text.RegularExpressions;
- namespace Day24;
- public partial class Parser
- {
- private static readonly char[] _separators = new char[] { '@', ',' };
-
- [GeneratedRegex(@".*")]
- private partial Regex LineMatch();
-
- public IEnumerable<Line3> Parse(string inputFile)
- {
- using var reader = File.OpenText(inputFile);
-
- while (!reader.EndOfStream)
- {
- var line = reader.ReadLine()!;
- var numbers = line.Split(_separators,
- StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries)
- .Select(long.Parse).ToArray();
- yield return new Line3(
- Vec3.FromSpan(numbers),
- Vec3.FromSpan(numbers.AsSpan().Slice(3))
- );
- }
- }
- }
|