условное переопределение переменной, которое работает на деле, но анализатор выплёвывает варнинг о том, что переменная после инициализации нигде не используется, хотя после if нет ничего, чтобы выкинуло из функции до использования
Хотя, может, я что-то не понимаю
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=44d976396a1a1e1bf31213a376e6f7cc
Зачем внутри блока let?
у тебя let новую переменную внутри блока создаёт и она потом в конце этого блока удаляется
Понял, спасибо
Да, глянул по доке, это было бессмысленно
if commands.len() > 1 { let command = &command.args(&commands[1..]); } тут создается (shadowing на деле) переменная, и потом она нигде не используется и ничего не делает если тебе нужно присвоить, а не пересоздать переменную, то без let нужно, иначе ты просто "затеняешь" (shadowing) прошлую переменную
Еще удобно ограничивать локи скоупом
Опа, надо запомнить🌚
Спасибо, буду знать
Обсуждают сегодня