История изменений
Исправление javascript, (текущая версия) :
в этом примере вижу затенение в
Это не затенение, а замыкание. Каждый вызов функции увеличивает значение x на единицу и возвращает его.
и переопределение в
А это не переопределение,а затенение. Потому что идентификатор используется тот же самый. По вашему куда y() сохраняет результаты между вызовами?
при это оно бесполезное, поскольку далее в коде не используется
А в println что выводится?
Ну вот вам еще раз, если вам не очевидно.
let mut x = 0;
let mut y = || { x += 1; x };
let x = "shadow";
let a = y();
let b = y();
let c = y();
println!("a:{} b:{} c:{} x:{}", a, b, c, x); // a:1 b:2 c:3 x:shadow
Исправление javascript, :
в этом примере вижу затенение в
Это не затенение, а замыкание. Каждый вызов функции увеличивает значение x на единицу и возвращает его.
и переопределение в
А это не переопределение,а затенение. Потому что идентификатор используется тот же самый. По вашему куда y() сохраняет результаты между вызовами?
при это оно бесполезное, поскольку далее в коде не используется
А в println что выводится?
Ну вот вам еще раз, если вам не очевидно.
let mut x = 0;
let mut y = || { x = x + 1; x };
let x = "shadow";
let a = y();
let b = y();
let c = y();
println!("a:{} b:{} c:{} x:{}", a, b, c, x); // a:1 b:2 c:3 x:shadow
Исправление javascript, :
в этом примере вижу затенение в
Это не затенение, а замыкание. Каждый вызов функции увеличивает значение x на единицу и возвращает его.
и переопределение в
А это не переопределение,а затенение. Потому что идентификатор используется тот же самый. По вашему куда y() сохраняет результаты между вызовами?
при это оно бесполезное, поскольку далее в коде не используется
А в println что выводится?
Исходная версия javascript, :
в этом примере вижу затенение в
Это не затенение, а замыкание. Каждый вызов функции увеличивает значение x на единицу и возвращает его.
и переопределение в
А это не переопределение,а затенение. Потому что идентификатор используется тот же самый. По вашему куда y() сохраняет результаты между вызовами?