Vladimir
я говорю что сериализация не гарантирует лайаут
Marat
transmute тоже сериализация
Vladimir
и типобезопасность
Vladimir
+
Vladimir
просто архитектуро зависимая
Маjко
Мои доводы -- избегать возможных векторов атак и появления неясных трудноотлавливаемых ошибок. А вот вы я не понимаю к чему аппелируете.
Vladimir
я апеллирую к тому, что биндинг не должен резать исходный функционал
Loo
офкозе
Маjко
Transmute — ни разу не типобезопасность. Очень типобезопасно, наверное, трансмьютить ссылку на String в ссылку на Vec
Vladimir
это разные понятия
Маjко
Я думал это вместе)
Маjко
transmute тоже сериализация
Маjко
и типобезопасность
Vladimir
также как идиоматичность не включает типобезопасность
Маjко
Сорян
Vladimir
типобезопсность была к другому )
Маjко
также как идиоматичность не включает типобезопасность
Идиоматичность РАСТА — включает. Идиоматичность сишки — нет
Vladimir
я говорю что сериализация не гарантирует лайаут
Vladimir
и типобезопасность
Маjко
Я понял уже
Anonymous
поняшил
Маjко
поняня
Нави
Ну вот, ошибок явных нет, но не выполняется. Что то не так в from_str(s), хотя если вместо s например "76" то работает
Нави
noparsing = 52 54 ____________ let temps = noparsing.split("\n"); let mut x: i32 = 0; for s in temps { if !s.is_empty() { x = i32::from_str(s).unwrap(); if x > 10 { println!("{}", x); } } }
分解物質
а как превратить u32 в [u8]?
res: [4; u8] = [src » 24 as u8, src » 16 as u8, src » 8 as u8, src as u8] это же элементарно
Anonymous
分解物質
я никогда с этим не работал
учи битовые операции, системный программист
Anonymous
где их учить
分解物質
зачем так, когда можно трансмьютом?
так на разных процессорах разный массив из одного и того-же числа может получиться
Anonymous
ансейф это плохо
Маjко
и?)
Зачем юзать ансейф без нужды?
分解物質
分解物質
пруф
Маjко
Вообще есть byteorder и его надо юзать
分解物質
где их учить
https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%B4%D0%B2%D0%B8%D0%B3
Anonymous
крууто
Нави
ссылку на плейграунд
https://play.rust-lang.org/?code=fn%20main()%20%7B%0Ause%20std%3A%3Astr%3A%3AFromStr%3B%0A%0Alet%20s%20%3D%20%225%22%3B%0Alet%20x%20%3D%20i32%3A%3Afrom_str(s).unwrap()%3B%0A%0Aassert_eq!(5%2C%20x)%3B%0A%7D Только вот здесь работает((( Там строка читается из файла
Vladimir
ну значит там разделитель не \n
Vladimir
а что-то другое
Vladimir
есть возможность читать сразу по строкам, пробуй так
Marat
Больший тип как меньший
Marat
А как же типобезопасность
分解物質
А разве так разрешит?
ещё один book не читал
Marat
ещё один book не читал
Да не помню уже
Нави
ну значит там разделитель не \n
В виндовс, буду разбирается позже
分解物質
https://doc.rust-lang.org/book/first-edition/casting-between-types.html
Нави
Anonymous
to_be() || !to_be()
Anonymous
а как
Anonymous
правильно
Anonymous
и не плохо
Marat
правильно
byteorder использовать
Marat
Или serde
Anonymous
а он как это решает?
Marat
а он как это решает?
Ну byteorder сдвигами сам и делает внутри
分解物質
а он как это решает?
тем же самым способом
分解物質
𝙰𝚗𝚊𝚝𝚘𝚕𝚢
Ну byteorder сдвигами сам и делает внутри
Он просто читает если ендианес совпадает.
Нави
А вот ещё, как сделать паузу, например 15 минут, в бесконечном цикле?
Anonymous
тогда я не понял почему это плохо)