* exercises: health-statistics: weight -> height
weight may be a sensitive topic for some readers; use height instead as this isn't important to the content of the course
* exercises: health-statistics: add health report
this lets us see a non-setter use case for &mut self
it also makes the 'statistics' side of this exercise more explicit as we count doctor visits
* exercises: health-statistics: normalize variable names
* remove $ from code blocks in translations
* remove $ from code blocks in the other markdown files as well
* Revert "remove $ from code blocks in the other markdown files as well"
This reverts commit eda922dab9.
* remove $ from code blocks in setup.md
* re-added the previous changes
* revert logging.md
Outlines an alternative implementation for Polygon::length. This exercise is aimed at novice users and we want to keep the implementation simple. For users familiar with iterator concepts this comment points to an alternative.
* control-flow: blocks: clarify prose around block values/types
specify what determines the type of a block
move the last expression note to the discussion of blocks rather than functions to clarify that it applies to both
* control-flow: if-let: correct sense of 'non-returning'
rename 'designing a library' example
library design in Rust is its own topic that this course does not cover; to avoid confusion, let's stick to describing things in terms of books
In C (as opposed to C++) the explicit cast from void* to int* is not required. It is also not idiomatic to do so in C code.
Actual C codebase would use `malloc()` without the cast, and a C++ one (when not using abstractions) a `new int[n]` - both a bit cleaner and less verbose than this example.
Clarify that each philosopher should think/eat 100 times.
Folks who have hazy memories of the philosopher dining problem may
interpret the original instructions as "make each philosopher think and
eat once". This interpretation loses a critical detail, because the
resulting code is highly unlikely to deadlock in practice, even without
breaking the symmetry.
* Add missing binaries in TRANSLATIONS.md instructions.
With these instructions, I can start from a clean fork, and get running
quickly.
* Update TRANSLATIONS.md: Add Debian
Co-authored-by: Martin Geisler <martin@geisler.net>
* Update TRANSLATIONS.md, format.
* Remove duplicate info between README and TRANSLATIONS.
---------
Co-authored-by: Martin Geisler <martin@geisler.net>
* Suggest to run day 3 afternoon exercise locally
Based on feedback from running the class, students found developing
the day 3 afternoon exercise locally was a better experience than
using Playground.
* Update src/exercises/day-3/afternoon.md
---------
Co-authored-by: Martin Geisler <martin@geisler.net>
* Completing and improving pt-BR translation for
chapter 1.
* Small typo fix.
* Some other fixes.
* pt-BR: Updates/completes translations for ch 1-6
* Fix missing '\n'
* zh-TW: translate cargo
Part of #684.
* Apply suggestions from code review
Co-authored-by: Jonathan Hao <phao@chromium.org>
* Use 建構 for build instead of 建立
---------
Co-authored-by: Jonathan Hao <phao@chromium.org>
Co-authored-by: Jonathan Hao <phao@google.com>
* zh-TW: translate ownership
Part of #684.
* Apply suggestions from code review
Co-authored-by: Jonathan Hao <phao@chromium.org>
* Replace "擁有權" with "所有權"
* Remove "__"
---------
Co-authored-by: Jonathan Hao <phao@chromium.org>
Co-authored-by: Jonathan Hao <phao@google.com>