[−][src]Module show_notes::e003
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: [email protected]
- Twitter: @newrustacean
- Chris Krycho
- Twitter: @chriskrycho
- App.net: @chriskrycho
- Twitter: @chriskrycho
Structs
PreexistingStruct | Just exists to be used as an element in |
Enums
RelatedishThings | An enumeration can hold a variety of types. This one shows you a few. |
Functions
demonstrate_basic_enumeration | Shows how the result of an enum comes back as increasingly complex data. |
demonstrate_match | Shows in a bit more detail how |
demonstrate_option | Shows how an option type works in practice. |
demonstrate_result | Shows how a |
get_a_result | Shows how to return either a meaningful result or an error as an enum. |
get_an_option | Shows how this is used in a more meaningful context, with a standard type. |
get_complex_data | Shows how returning a |
get_name | Shows how returning a |
get_reused_structure | Shows how returning a |
get_unit | Shows how returning a |
get_value | Shows how returning a |