Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
void foo() { /*...*/ }
void bar() {
//...
return foo();
}В… Rust предусмотрена специальная метапеременная "_" ...
_ (как и .., ref, mut и т.д.) работает только в контексте образца, иначе:fn main() {
fn f_ab() -> (u8, u8) { (1, 2) }
let mut a;
(a, _) = f_ab();
println!("{}", a);
}<anon>:6:9: 6:10 error: unexpected token: `_`
<anon>:6 (a, _) = f_ab();
^Но уже сейчас ясно одно: если и давать такую возможность программисту, то указание способа взаимодействия кортежей должно делаться явно.мне не смешно ни разу. И у меня возникает вопрос: а о чем же вы так радостно вещали «пять минут назад»?! Вы реально сами не понимаете? Т.е. вам «все понятно и очевидно» с x = {1,2,3}, и даже с {i,j,k} = 0, и тут раз — внезапно — «должно делаться явно». Серьезно? Т.е. вот эта ваша фраза
По крайней мере, можно принять как пожелание, чтобы кортежи из одного значения свободно конвертировались в эти самые значения, и наоборот.она о чем вообще тогда?
Кортежи в языках программирования. Часть 2