պլհկ
для 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
Anonymous
Так... И ещё. Это же неявная фигня. По-идее, наличие БЛ в таких методах не приветствуется, да?
պլհկ
да
պլհկ
обычно дроп просто не нужен
Alex
БЛ? бизнеслогика?
Berkus
хееелллоо, я снова с вопросами
как в расте делаются полиморфные штуки - я так понимаю энум с полями это канонический подход и потом match по типу в энуме?
доня.
ну энумы это не совсем полиморфизм
полиморфизм - это дженерики (параметрический) и трейты (ad-hoc)
ну а так, да, энумы и match
分解物質
доня.
доня.
типа расширяемость, гибкость и всё такое
Berkus
доня.
google: rust book
分解物質
какую именно
https://doc.rust-lang.org/book/first-edition/
Berkus
и rustbyexample.com еще
доня.
Berkus
там нигде не объясняется как работать с такими штуками
Berkus
синтаксис по ней выучить можно, идиоматику - почти никак
分解物質
доня.
分解物質
доня.
а что?
(ну если я правильно понял) он имел ввиду обработку значений нескольких типов, короче, match по enum
доня.
(формулировка так себе, т.к. тип-то на самом деле один, но не суть)
分解物質
Berkus
Berkus
Berkus
Alex
юзаешь дженерик и все
Alex
от задачи зависит.
Alex
Например тебе нужно получать всегда буффер, неважно чем он является, главное чтобы он реализовывал трейт Write (вроде)
Berkus
а, ну у меня нет задачи вызывать одинаковые функции, у меня задача как раз таки возвращать _разные_ содержимые из одной функции чтения и тут енум как раз
adam
как грязно
Alex
тоже чет не нравится
Alex
зачем из функции разные результаты возвращать
Alex
к return'у тоже небось дженерики можно прикрутить
Alex
Alex
просто значения разные.
доня.
но вообще, @berkus опиши задачу плес поподробнее, а то непонятно ничего
Anonymous
в hyper нет абстракции для создания querystring?
Berkus
у меня в файле есть 10 типов чанков
они могут идти в произвольном порядке
но их набор инициализирует один итоговый объект
соответственно мне надо все их прочитать и в зависимости от их типа проинициализировать то или иное поле.
варианты лучше принимаются
Berkus
Alex
Alex
с разным кодом.
доня.
ну вот и всё, ебашь enum
Berkus
ну да, я вот так и решил сделать - match по типу чанка и инициализировать возвращаемый enum Chunk нужными данными
Berkus
Нави
раст на виндовсе нормально юзается?
С визуал студио дружит?
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
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