Alexander
глупый вопрос, а где почитать, как в принято объединять действия с разными Result, вот пусть у меня есть foo -> Result<i64,Error1> и bar -> Result<i64,Error2>, и я хочу сделать foobar -> Result<i64, ...> который есть комбинация Error1 и Error2?
Oleg
Алексей
приветствую всех, сейчас начал изучать 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
Anonymous
Anton
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
andrei
Сережа
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
Сережа
удиви весь СО я оттуда копипащу
Alex
let somevar = "sdad"
let somevar: u32 = somevar;
При несовпадении типов компилятор сам в ошибке скажет какие у них типы.
Alex
наверное можно как то tuple прикрутить, но мне лень тестить.
Anonymous
но это не тоже самое
Alex
Я тебя сильно удивлю если скажу что можно без #![feature(core_intrinsics)] посмотреть тип переменной?
Alex
я где то это утверждал?
Anonymous
я делаю let () = stuff
Alex
Anonymous
а
Anonymous
Anonymous
неужели нет макрокоманды которая выдает тип 🤔
Anonymous
чтобы можно было запилить compile_error
Alex
Alex
Иногда нехватает. Проверять через ошибку компилятора - костыль.
Anonymous
хм
Anonymous
а можно вызвать intrinsics::type_of в плагине компилятора?
Marat
Marat
Так что вряд ли
Anonymous
тогда можно запилить функцию Void -> ! либо ! -> !
Нави
Странно, не пойму почему:
extern crate hyper_tls;
^^^^^^^^^^^^
can't find crate
Loo
Sherzod
установи
Нави
я пробовал hyper-tls = "*"
ругалось.
А про дефис незнал.
Помогло, благодарю
Нави
То есть пробовал
hyper_tls
Loo
https://pingcap.github.io/blog/2017/09/12/futuresandgrpc/
Loo
оп
պլհկ
ну такое
պլհկ
биндинги это отстой
Маjко
Годно
Alex
у раста вроде дешевые биндинги к C либам, не?
Alex
или вообще бесплатные
պլհկ
бесплатные в рантайме
doc
А еще дешевле?)
Alex
call в прошлое, ммм
Marat
А есть какой-нибудь автогенераторов биндингов?