Size: a a a

Rust — русскоговорящее сообществo

2020 April 09

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Ещё вопрос: мне нужно в макросе получить повторения некоего значения (заданного через $( $x )* в обратном порядке
Я могу это сделать как-то более разумно, чем:
for val in &[$( $x ),*] .rev() { }

?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Или это уже нужен процмакрос?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Ещё вопрос: мне нужно в макросе получить повторения некоего значения (заданного через $( $x )* в обратном порядке
Я могу это сделать как-то более разумно, чем:
for val in &[$( $x ),*] .rev() { }

?
Так тоже нельзя, все значения получаются borrowed
источник

В

Вафель in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Ещё вопрос: мне нужно в макросе получить повторения некоего значения (заданного через $( $x )* в обратном порядке
Я могу это сделать как-то более разумно, чем:
for val in &[$( $x ),*] .rev() { }

?
Мы тут  писали макрос который инвертирует порядок элементов, надо бы найти
источник

В

Вафель in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Или это уже нужен процмакрос?
https://t.me/rustlang_ru/254395

Upd: ой, это не совсем то
источник

В

Вафель in Rust — русскоговорящее сообществo
Вот тут был reverse макрос: https://t.me/rustlang_ru/254384
источник

DE

Dmitri Emeliov in Rust — русскоговорящее сообществo
Emmanuel Goldstein
https://doc.rust-lang.org/stable/std/macro.vec.html
Не могу понять, чем второй вариант макроса отличается от третьего
Второй от третьего отличается положением запятой в шаблоне.
Второй шаблон распознает последовательность выражений отделенных друг от друга запятой.

Третий распознает последовательность элементов, ничем не отделенных друг от друга, но сами элементы последовательности состоят их одного выражения expr и за ним сразу запятая.

Т.е. во втором шаблоне запятая как часть синтаксиса шаблона, в третьем запятая как часть выражения, которое будет повторяться.

Эти макросы нужны, чтобы мы могли оставить запятую после последнего элемента.
vec![1, 2, 3] - распознается вторым шаблоном
vec![1, 2, 3,] - третьим.
источник

В

Вафель in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Так тоже нельзя, все значения получаются borrowed
Ну у тебя без vec![] или условного .iter_move() в любом случае будут проблемы с тем что итератор борровит
источник

В

Вафель in Rust — русскоговорящее сообществo
Dmitri Emeliov
Второй от третьего отличается положением запятой в шаблоне.
Второй шаблон распознает последовательность выражений отделенных друг от друга запятой.

Третий распознает последовательность элементов, ничем не отделенных друг от друга, но сами элементы последовательности состоят их одного выражения expr и за ним сразу запятая.

Т.е. во втором шаблоне запятая как часть синтаксиса шаблона, в третьем запятая как часть выражения, которое будет повторяться.

Эти макросы нужны, чтобы мы могли оставить запятую после последнего элемента.
vec![1, 2, 3] - распознается вторым шаблоном
vec![1, 2, 3,] - третьим.
Не понятно почему там не один
($ ($ x : expr), * $(,)?) => { ... };
источник

A

Anton 📦 ᯌ in Rust — русскоговорящее сообществo
Вафель
Не понятно почему там не один
($ ($ x : expr), * $(,)?) => { ... };
Я думаю это историческая причина :). Отправь пул реквест исправить
источник

В

Вафель in Rust — русскоговорящее сообществo
Oh no
источник

A

Anton 📦 ᯌ in Rust — русскоговорящее сообществo
cargo clippy: cognitive hard
источник

DE

Dmitri Emeliov in Rust — русскоговорящее сообществo
Действительно не понятно, возможно на тот момент нельзя было так сделать, либо это уже вопрос мышления программиста писавшего этот макрос)
источник

В

Вафель in Rust — русскоговорящее сообществo
предполагаю что да, модификатор ? появился позже
источник

В

Вафель in Rust — русскоговорящее сообществo
Anton 📦 ᯌ
cargo clippy: cognitive hard
?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Max Frai
Уже год работает без сбоев этот Парсинг
там сайт показывает везде нули, так и должно быть?
источник

MF

Max Frai in Rust — русскоговорящее сообществo
polunin.ai
там сайт показывает везде нули, так и должно быть?
Да сайт еще в разработке, попробуй обновить страницу, иногда пересобирается
источник

H

Heorhi in Rust — русскоговорящее сообществo
а есть какойнибудь безопасный способ использовать rustup-init если rustup уже установлен? Думаю закешировать папку в appveyor
источник

MF

Max Frai in Rust — русскоговорящее сообществo
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
неужели людям НАСТОЛЬКО больно возвращать Ok(res) вместо res
источник