This page shows the source for this entry, with WebCore formatting language tags and attributes highlighted.

Title

Rust: from zero to pretty-well-versed in 30 minutes

Description

I found the article <a href="https://fasterthanli.me/blog/2020/a-half-hour-to-learn-rust/" author="Amos">A half-hour to learn Rust</a> to be extremely helpful in learning the syntax and mechanics of Rust. It starts out with the absolute basics: <bq><c>let</c> introduces a variable binding [...]</bq> then takes you through <ul> Modules Blocks Conditionals Matches <c>Options</c> <c>mut</c>ables Copy/clone semantics Traits Generic parameters Constraints Macros Enums Lifetimes and borrowing Generic lifetimes Statics vs. owned vs. referenced Slices and range literals (<c>Index</c> and <c>IndexMut</c>) <c>Results</c> Errors, <c>panic</c> and <c>unwrap</c>, <c>expect()</c> and <c>?</c> Closures (<c>Fn</c>, <c>FnMut</c>, and <c>FnOnce</c>) <c>move</c> <c>for ... in</c> </ul> and ends up with a function builder that tests strings: <code> fn make_tester<'a>(answer: &'a str) -> impl Fn(&str) -> bool + 'a { move |challenge| { challenge == answer } } fn main() { let test = make_tester("hunter2"); println!("{}", test("*******")); println!("{}", test("hunter2")); } // output: // false // true </code>