чтение её частей.
let matrix = get_matrix();
let row_len = matrix.row_len;
// или с помощью деструктурирования:
let Matrix { row_len, .. } = matrix;
// С Rust 1.56 можно сделать это в одно действие!
let matrix @ Matrix { row_len, .. } = get_matrix();
А кому-то мешало ранее старое поведение? Чет как-то выглядит, как излишнее усложнение
соглашюсь со сказанным
кто-то уже писал, что заюзал, и очень удобно получилось
Так а что не так ? 1 строчка лучше двух же, ну )
Я где-то использовал/хотел использовать. Ну и как сайд эффект можно несколько переменных одним значением инициализировать, ы: let a @ b @ c = 0;
раст вообще пытается быть последовательным - раз @ есть в нетотальных сопоставлениях, то было бы последовательно его и в тотальных тоже поддерживать. собственно, до 1.0 оно и поддерживалось - просто баг нашли и не могли все это время нормально дочинить
очень имхо, но @ это какой-то костыль. я понимаю что оно нужно в определённых ситуациях, но менее инородно оно от этого выглядеть не начинает. альтернативу не предложу но и не думал над этим
@ это стандартный кусок матчинга окамль вместо этого делает as типа (a, _) as b
почему так не делает раст я хз, мб парсить сложнее
кстаати, почему-то на секунду подумалось, что можно было вместо @ использовать ключевое слово as
просто не совсем понял мыслю а с окамлом не знаком
только при этом чё-то может сломаться
надо было быстрее соображать, 2021 уже приняли, хе-хе
я вообще затрудняюсь истоки @ синтаксиса назвать, оно прям с сильно ранних версий языка. надо заниматься раскопками древних почтовых рассылок и комитов в комилятор до 0.6 версии
я сейчас читаю RFC и тоже не могу найти
Обсуждают сегодня