Практика на области видимости в Rust
Дан следующий код:
{
let s = 2;
}
println!("{}", s);
Скажите, соберется ли программа.
Дан следующий код:
fn pick(tag: i32) {
println!("{}", tag);
}
pick(1);
println!("{}", tag);
Скажите, соберется ли программа.
Дан следующий код:
let n = 4;
{
let n = 1;
println!("{}", n);
}
println!("{}", n);
Скажите, что выведется.
Дан следующий код:
for k in 0..2 {
println!("{}", k);
}
println!("{}", k);
Скажите, соберется ли программа.
Даны переменные:
let a = 2;
Внутри блока без условия объявите a
заново со значением 9, выведите
его внутри блока. После блока выведите
a еще раз.
Дан следующий код:
fn left() {
let x = 1;
}
fn right() {
let x = 2;
println!("{}", x);
}
right();
Скажите, что выведется и видно ли x
из left в right.