Module show_notes::e003
source · Expand description
No. more. nulls.
- Date: October 21, 2015
- Subject: Enumerated (
enum
) types, pattern matching, and meaningful return values. - Audio
§Notes
Today’s episode discusses, in order:
- Enumerated types, with an eye to the difference between structs and
enums, and to the differences between
enum
s in C and in Rust. - Pattern matching, with a focus on using them with enumerated types and
some discussion about how they differ from
switch
blocks in C-like languages. - Using the
Option
andResult
enumerated types with pattern matching to provide meaningful returns from functions safely.
§Order
There is a specific order to the examples below, and it is not the
automatically-alphabetized order rendered by rustdoc
. Instead, you should
work through in the sequence they appear in the source:
RelatedishThings
demonstrate_basic_enumeration
demonstrate_match
get_an_option
demonstrate_option
get_a_result
demonstrate_result
§Links
- New Rustacean Pull Request #1
- Work on IDE support!
- Landing page
- My chosen tool: JetBrains/IntelliJ
- Rustlings
- Rust FFI Omnibus
§Follow/Support
- New Rustacean:
- Twitter: @newrustacean
- App.net: @newrustacean
- Patreon
- Email: hello@newrustacean.com
- Twitter: @newrustacean
- Chris Krycho
- Twitter: @chriskrycho
- App.net: @chriskrycho
- Twitter: @chriskrycho
Structs§
- Just exists to be used as an element in
RelatedishThings
.
Enums§
- An enumeration can hold a variety of types. This one shows you a few.
Functions§
- Shows how the result of an enum comes back as increasingly complex data.
- Shows in a bit more detail how
match
works. - Shows how an option type works in practice.
- Shows how a
Result
type works in practice. - Shows how to return either a meaningful result or an error as an enum.
- Shows how this is used in a more meaningful context, with a standard type.
- Shows how returning a
RelatedishThings::ComplexData
instance works. - get_name 🔒Shows how returning a
RelatedishThings::SomeName
instance works. - Shows how returning a
RelatedishThings::ReusedStructure
instance works. - get_unit 🔒Shows how returning a
RelatedishThings::Unit
instance works. - Shows how returning a
RelatedishThings::SomeValue
instance works.