Size: a a a

2020 November 26

А⚙

Антон ⚙️ in Rust Beginners
Kai Ren
По идее - да. Был возможно бы приятный сахар. Но почему не реализовано - хз, не приходилось читать обсуждения/мотивацию этого. Вполне вероятно там есть какие-то неочевидные подводные камни с тем, как бы эта фича играла относительно других фич языка.
Неочевидное взаимодействие: в текущем виде Rust позволяет структуре иметь метод и поле с одинаковыми именами. В этом случае struct_name.name, за которым не следует вызов — это всегда обращение к полю name. Если разрешить это трактовать как создание замыкания из name и захватываемого значения struct_name, то пропадёт возможность обращаться к полю
источник

SL

S. L. in Rust Beginners
всем привет, зачем нужен вопросительный знак на 5 и 7 строчках?
источник

a

antuan in Rust Beginners
чтобы ошибку сразу возвращать наружу
об этом написано в rust book...
источник

MB

Mikail Bagishov in Rust Beginners
S. L.
всем привет, зачем нужен вопросительный знак на 5 и 7 строчках?
источник

SL

S. L. in Rust Beginners
не нашел там просто
источник

SL

S. L. in Rust Beginners
спасибо
источник

a

antuan in Rust Beginners
источник

SL

S. L. in Rust Beginners
так, а в расте ест способ сделать что-то похожее на 3 строку?
источник

r

red75prime in Rust Beginners
А что эта строка делает?
источник

MB

Mikail Bagishov in Rust Beginners
Видимо эта строка конвертирует байты в строку.
Для этого есть String::from_utf8
источник

SL

S. L. in Rust Beginners
там run
источник

SL

S. L. in Rust Beginners
а, все. Разобрался, это кастомная функция
источник

SL

S. L. in Rust Beginners
Mikail Bagishov
Видимо эта строка конвертирует байты в строку.
Для этого есть String::from_utf8
а есть обратная функция? Т.е. у меня есть файл и я превращаю его в вектор байтов
источник

MB

Mikail Bagishov in Rust Beginners
источник

П

Пашечка in Rust Beginners
Насколько хорош Vec для использования в качестве LIFO? При частых push/pop?
источник

П

Пашечка in Rust Beginners
Прост в тех же крестах есть отдельная коллекция stack, которая является оберткой над декой. В расте есть Vec и VecDeque, но по прикидке, мне VecDeque не нужен...
Рассудите меня в общем, пжалста
источник

MB

Mikail Bagishov in Rust Beginners
std::stack из STL это очень тонкая обертка над std::vector, которая просто методы переименовывает.
источник

MB

Mikail Bagishov in Rust Beginners
Vec совершенно нормальный LIFO
источник

MB

Mikail Bagishov in Rust Beginners
Ну и Vec в расте устроен так же, как и std::vector из C++
источник

П

Пашечка in Rust Beginners
Mikail Bagishov
std::stack из STL это очень тонкая обертка над std::vector, которая просто методы переименовывает.
cppreference говорит, что по умолчанию всё таки deque, но пофиг, в принципе.

Окей, спасибо, мне пойдет, значится
источник