Області видимості та затінення

Область видимості змінної обмежується блоком, що її охоплює.

Ви можете затіняти змінні, як із зовнішніх областей, так і змінні з тієї ж області:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

  • Покажіть, що область видимості змінної обмежена, додавши b у внутрішньому блоці в останньому прикладі, а потім спробувавши отримати доступ до неї за межами цього блоку.
  • Затінення відрізняється від мутації тим, що після затінення обидві ділянки пам’яті змінних існують одночасно. Обидві змінні доступні під одним і тим же ім’ям, залежно від того, де ви їх використовуєте у коді.
  • Змінна затінення може мати інший тип.
  • Затінення спочатку виглядає незрозумілим, але є зручним для збереження значень після .unwrap().