Extending system types to reduce code
Another powerful feature that we briefly covered in Chapter 3, One Piece at a Time – Types, Scopes, and Projects is the ability to extend the existing types. We saw that we could add an extension to the String type that would allow us to repeat a string n multiple times. Let's look at a more practical use case for this and discuss its benefits in terms of improving our code.
Perhaps, we can create a grade-tracking program where we will print out a lot of percentages. A great way to represent percentages is using a Float
with a value between 0
and 1
. Floats are great for percentages because we can use all the built-in math functions and they can represent pretty granular numbers. The hurdle that we need to cross while using a float to represent a percentage is its printing. If we simply print out the value, it will most likely not be formatted in the way we would want. People prefer percentages to be out of 100 and prefer a percent symbol after it.
In a...