Иногда, находишь нечто довольно удобное, даже в том, что тебе кардинально не нравится. Так было и со мной, поскольку работая над некоторым проектом, я осознал, что мне нужно нечто такое чего нет в D, но встроено в Rust. Он мне по некоторым причинам не нравится, в частности, тем что из-за его прихода был уничтожен проект на D, но тем не менее в Rust есть здравые идеи.
Одной из такой идей, был тип, который позволяет в зависимости от ситуации или хранить некоторое значение, или показывать отсутствие этого значения. Называются такие типы обычно или Maybe, или в случае Rust, Option. Данные типы позволяют преодолеть некоторые концептуальные проблемы и могут в целом сделать код чище.
В этой статье мы реализуем свой вариант типа Option и я немного расскажу о том, чем это может быть полезно вам.
Читать далее