In this exercise, you will learn how to
-
open a file
-
handle errors using the
Result
-type -
use the
Option
-type -
read a file line by line
-
use standard library features to quickly parse lines to structs.
Both the Option
and Result
are similar in a way. Both have two variants, and
depending on what those variants are, the program may continue in a different way.
The Option Type can have the variant Some(<some other type>)
or None
.
It is used, when you have to handle optional values, for example if you want to
be able to leave a field of a struct empty, go assign the option type to it.
If the field has a value, it is Some(<value>)
, if it is empty, it is None
.
The variants of the Result type are Ok()
and Err(e)
. It is used to handle errors.
If an operation was successful, Ok()
is returned. Ok()
can be empty or have a
return value. Err(e)
contains an error message that can be printed.
Both types can be used with the
|
Template
Clone the teaching material repository at github.com/ferrous-systems/teaching-material.
A template with example data can be found in folder assignments/semver/parse_file/template. It already imports (use
s) all required items.