պլհկ
для i32 похуй, но в общем случае дроп в конце блока это деструктор (метод Drop::drop), и он получает доступ к значению
Anonymous
А, ок. Спасибо, теперь понятно.
պլհկ
struct I32(i32); impl Drop for I32 { fn drop(&mut self) { println!("Dropping {}", self.0); } } fn main() { let x = I32(5); let y = I32(7); }
Anonymous
Так... И ещё. Это же неявная фигня. По-идее, наличие БЛ в таких методах не приветствуется, да?
պլհկ
да
պլհկ
обычно дроп просто не нужен
Cuno
О, меджик. А так только со структурой можно?
Для enum'ов тоже можно Drop имплементить
Alex
БЛ? бизнеслогика?
Berkus
хееелллоо, я снова с вопросами как в расте делаются полиморфные штуки - я так понимаю энум с полями это канонический подход и потом match по типу в энуме?
доня.
ну энумы это не совсем полиморфизм полиморфизм - это дженерики (параметрический) и трейты (ad-hoc) ну а так, да, энумы и match
доня.
ну энумы это не совсем полиморфизм полиморфизм - это дженерики (параметрический) и трейты (ad-hoc) ну а так, да, энумы и match
но вообще по SOLID при возможности лучше полагаться на диспатчинг, чем на ручной перебор типов в том же match
доня.
типа расширяемость, гибкость и всё такое
доня.
google: rust book
Berkus
типа расширяемость, гибкость и всё такое
да да, у меня фиксированный список типов чанков
Berkus
google: rust book
у меня открыты обе версии
分解物質
какую именно
https://doc.rust-lang.org/book/first-edition/
Berkus
и rustbyexample.com еще
доня.
Berkus
там нигде не объясняется как работать с такими штуками
Berkus
синтаксис по ней выучить можно, идиоматику - почти никак
доня.
doc.rust-lang.org/book/first-edition/generics.html
не-не, он не то имел ввиду
Berkus
doc.rust-lang.org/book/first-edition/generics.html
я наверное очень тупой, процитируй пожалуйста конкретный параграф на этой странице?
доня.
а что?
(ну если я правильно понял) он имел ввиду обработку значений нескольких типов, короче, match по enum
доня.
(формулировка так себе, т.к. тип-то на самом деле один, но не суть)
Alex
спасибо, я разобрался уже
Можно сделать лучше если они от одного трейта "наследуются"
Alex
юзаешь дженерик и все
Alex
от задачи зависит.
Alex
Например тебе нужно получать всегда буффер, неважно чем он является, главное чтобы он реализовывал трейт Write (вроде)
Berkus
а, ну у меня нет задачи вызывать одинаковые функции, у меня задача как раз таки возвращать _разные_ содержимые из одной функции чтения и тут енум как раз
adam
как грязно
Alex
тоже чет не нравится
Alex
зачем из функции разные результаты возвращать
доня.
зачем из функции разные результаты возвращать
ну как, возвращать enum это нормально, ты шо, никогда Result не возвращаешь?
Alex
к return'у тоже небось дженерики можно прикрутить
Alex
просто значения разные.
доня.
но вообще, @berkus опиши задачу плес поподробнее, а то непонятно ничего
Anonymous
в hyper нет абстракции для создания querystring?
доня.
так Enum грубо говоря один и тот же тип
ну даа, вот он и хочет enum (вроде как (но это не точно))
Berkus
у меня в файле есть 10 типов чанков они могут идти в произвольном порядке но их набор инициализирует один итоговый объект соответственно мне надо все их прочитать и в зависимости от их типа проинициализировать то или иное поле. варианты лучше принимаются
Alex
с разным кодом.
доня.
ну вот и всё, ебашь enum
Berkus
ну да, я вот так и решил сделать - match по типу чанка и инициализировать возвращаемый enum Chunk нужными данными
Anonymous
в hyper нет абстракции для создания querystring?
в 0.8.0 был set_query_from_pairs, в 0.11.2 ничего подобного не вижу
Нави
раст на виндовсе нормально юзается? С визуал студио дружит?
Andrei
Да и да
Andrei
Для Visual Studio плагин хороший
Нави
благодарю за ответ)
Andrei
Друзья, мы в Киеве проводим митап по расту 2 сентября. Это суббота. Кто-то выступить хочет? У нас очень гибкое расписание, и мы спокойно можем вместить еще один-два доклада.
Нави
error: couldn't read "src\\main.rs": stream did not contain valid UTF-8
Нави
чего то ругается на русские символы
Нави
вроде ютф-8
Нави
это карго ран такое пишет
Нави
да просто в виндовсе постоянно какие то палки попадаются в калёса)
でゲソ
Флаг может просит или твой код с 1251 кодировкой
Loo
Anonymous
Loo
Почти
Anonymous
error: couldn't read "src\\main.rs": stream did not contain valid UTF-8
А он насчёт BOM не может так материться?
Anonymous
Просто это надо изъебнуться, чтобы в UTF-8 не попасть.
Anonymous
И ещё, переносы строки какие?
Filipp
In [1]: u'ыавп'.encode('cp1251') Out[1]: '\xfb\xe0\xe2\xef' вполне себе не юникод
Anonymous
Вернее не переносы. Но ты понял.
Anonymous
Так у него ж такого не происходит. Не?
Filipp
не знаю. пишет, что венда и русские символы
Filipp
cp1251 - первый подозреваемый
Anonymous
Но файл UTF-8 со слов автора.
Filipp
вроде utf-8