Alexander
глупый вопрос, а где почитать, как в принято объединять действия с разными Result, вот пусть у меня есть foo -> Result<i64,Error1> и bar -> Result<i64,Error2>, и я хочу сделать foobar -> Result<i64, ...> который есть комбинация Error1 и Error2?
Алексей
приветствую всех, сейчас начал изучать rust , хочу для начала сделать парсер некоторых веб страниц, подскажите с чего мне начать ? есть ли какие то модули которыми можно воспользоваться ? и чем потом лучше с PostGreSQL коннектится ?
Маjко
@tapok_satan расскажи человеку)
պլհկ
html5ever?
Alexander
@odomontois пасиб
Loo
http://meetu.ps/e/D6FjB/n6fTM/a
Loo
ещё раз напоминаем
Loo
завтра митап по расту
Loo
в офисе жет брэинс в питере
Loo
игровая разработка вся хуйня
Loo
хуё моё
Anton
Отмечаться обязательно?
Loo
хз
Loo
но желательно отметиться
Loo
https://github.com/ruse-lang/stress-free-manifesto/blob/master/manifesto/ru-RU/MANIFESTO.md
Kerrigan
https://github.com/ruse-lang/stress-free-manifesto/blob/master/manifesto/ru-RU/MANIFESTO.md
звучит лучше чем какой-то code of conduct
Anonymous
звучит лучше чем какой-то code of conduct
да примерно так же работает
Anton
Хотя HTML просто парсить
Anton
Какбэ
Anton
Это не свой парсер писать
Сережа
fn main() { let int: i32 = -5; let absval = int.abs(); println!("Abs: {:?}", absval); for i in -100..100 { let absval = i.abs(); println!("Abs: {:?}", absval); } } Почему 1ое работает, а 2ое нет?
Сережа
#![feature(core_intrinsics)] fn print_type_of<T>(_: &T) { println!("{}", unsafe { std::intrinsics::type_name::<T>() }); } fn main() { for i in 0..1 { print_type_of(&i); } } Output: i32
Сережа
user@ubuntu:~$ rustc -vV rustc 1.22.0-nightly (dd08c3070 2017-09-12) binary: rustc commit-hash: dd08c30703d052205a68ae34331eea464178cd99 commit-date: 2017-09-12 host: x86_64-unknown-linux-gnu release: 1.22.0-nightly LLVM version: 4.0
Anonymous
-100i32..100
Anonymous
в первом у тебя i32 указано
Сережа
спасибо, но я все таки недопонимаю, он же мне сам пишет, что это i32
Сережа
через i32 все работает, спасибо
Anonymous
наверное type name превращает {integer} в i32
Anonymous
компилятор так не делает
Сережа
а {integer} это трейт?
Anonymous
это обозначение у компилятора что может быть какой-либо числовой тип
Сережа
https://users.rust-lang.org/t/what-is-the-type-integer/10137/2
Сережа
I think that thing called {integer} is the compiler knowing that is an integer type but not knowing exactly what specific type you are trying to use.
Сережа
разобрался, спасибо
Anonymous
если ты дашь {integer} функции которая требует i64 то превратится в i64
Alex
#![feature(core_intrinsics)] fn print_type_of<T>(_: &T) { println!("{}", unsafe { std::intrinsics::type_name::<T>() }); } fn main() { for i in 0..1 { print_type_of(&i); } } Output: i32
Я тебя сильно удивлю если скажу что можно без #![feature(core_intrinsics)] посмотреть тип переменной?
Сережа
удиви весь СО я оттуда копипащу
Alex
let somevar = "sdad" let somevar: u32 = somevar; При несовпадении типов компилятор сам в ошибке скажет какие у них типы.
Alex
наверное можно как то tuple прикрутить, но мне лень тестить.
Anonymous
но это не тоже самое
Alex
Я тебя сильно удивлю если скажу что можно без #![feature(core_intrinsics)] посмотреть тип переменной?
Alex
я где то это утверждал?
Anonymous
я делаю let () = stuff
Anonymous
я где то это утверждал?
ну, у тебя не всегда напишет тип
Alex
я делаю let () = stuff
да, я про эту штуку говорил
Alex
ну, у тебя не всегда напишет тип
в каких случаях не напишет?
Anonymous
а
Anonymous
Alex
да, я про эту штуку говорил
Просто мне лень было play.rust открывать и проверять
Anonymous
неужели нет макрокоманды которая выдает тип 🤔
Anonymous
чтобы можно было запилить compile_error
Alex
Иногда нехватает. Проверять через ошибку компилятора - костыль.
Anonymous
хм
Anonymous
а можно вызвать intrinsics::type_of в плагине компилятора?
Marat
а можно вызвать intrinsics::type_of в плагине компилятора?
Вроде типы после всех макросов определяются
Marat
Так что вряд ли
Anonymous
тогда можно запилить функцию Void -> ! либо ! -> !
Нави
Странно, не пойму почему: extern crate hyper_tls; ^^^^^^^^^^^^ can't find crate
Sherzod
установи
Нави
я пробовал hyper-tls = "*" ругалось. А про дефис незнал. Помогло, благодарю
Нави
То есть пробовал hyper_tls
Loo
https://pingcap.github.io/blog/2017/09/12/futuresandgrpc/
Loo
оп
պլհկ
ну такое
պլհկ
биндинги это отстой
Маjко
Годно
Alex
у раста вроде дешевые биндинги к C либам, не?
Маjко
биндинги это отстой
Хорошие биндинги — почему нет?
Alex
или вообще бесплатные
պլհկ
бесплатные в рантайме
doc
А еще дешевле?)
Alex
А еще дешевле?)
ты нарушить законы физики решил?
Alex
call в прошлое, ммм
Marat
А есть какой-нибудь автогенераторов биндингов?