Αλεχ
ㅤ
Berkus
см ниже
ниже написано "в общем случае - никак"
Αλεχ
Это реализовано
Αλεχ
у меня даже код рабочий был
Αλεχ
Cat
Αλεχ
именно в таком
Αλεχ
https://stackoverflow.com/a/36371890/2559709
Αλεχ
даже тут это написано
Berkus
Berkus
больше двух лет назад, на версии раста 1.0?
Cat
Cat
там такого не написано
Cat
либо я в конец слепой
Αλεχ
If you want all results or a single error, collect into a Result<X<T>>:
Cat
Cat
это вообще не значит, что оно работает
Cat
он просто совет даёт
Berkus
он советует flat_map() :)
Αλεχ
https://play.rust-lang.org/?gist=7831dc0f39cc18c66db17e5cdfd2036b&version=stable&mode=debug
Αλεχ
а что на это скажете?
Cat
скажем, что into_iter
Αλεχ
и?
Αλεχ
я и спросил
Αλεχ
в чем ошибка
Αλεχ
iter вместо into_iter
Αλεχ
это как раз такая мелкая ошибка
Cat
согласен
Cat
это типо quiz был?
Αλεχ
типа я помнил, что так можно
Αλεχ
но забыл точный код
Αλεχ
@napsy https://play.rust-lang.org/?gist=f2a898289b8102428ebd88d46dc004f6&version=stable&mode=debug шарпик так не умеет
Cat
а в шарпике разве нет Object?
Αλεχ
в шарпике нет FromIter
Αλεχ
а еще шарпик не умеет опускать выведенные типа
Αλεχ
fn foo<A,B,C,D>(a: A, b: B, c: C)
Αλεχ
в расте можно вызвать как foo::<_,_,_,i32>(1,2,3)
Αλεχ
в шарпе нельзя
Αλεχ
и это часто бесит
🐁 Arutrancetro
в шарпе по другому
Αλεχ
Αλεχ
так-то все языки тьюринг-полные
Cat
так можно написать
🐁 Arutrancetro
на мой взгляд в шарпе можно делать много чего, чего в расте нельзя)
Αλεχ
только рефлексия
🐁 Arutrancetro
но в расте меньше можно делать того, что в шарпе нельзя
Cat
Αλεχ
Αλεχ
там и без object можно сделать
Cat
хз, в джаве типикал
Αλεχ
точнее не получится вообще ибо нет АДТ
Αλεχ
ты не можешь вернуть одно ИЛИ другое
Cat
можно вернуть object
Αλεχ
так никто не делает
Αλεχ
если я вижу object в коде то как правило это говнокод
Αλεχ
даже логирующее API дженериками строится
Cat
ну хз, в джаве так направо и налево, хоть и есть декларация типов, но VM ничего о них не знает
Αλεχ
Αλεχ
Αλεχ
я как-то кодогенерацией занимался в ранатйме
Andrey
Αλεχ
на основе этого
🐁 Arutrancetro
string[] arr = Enumerate.Range(0, 100).Select(x => $"Result: {x}").ToArray();
как такое же в расте сделать одной строчкой?
Αλεχ
Αλεχ
let arr = (0..100).map(|x| format!("Result: {}", x)).collect::Vec<_>
🐁 Arutrancetro
ну в шарпике более симпотично выглядит)
Αλεχ
с чего бы?
🐁 Arutrancetro
без всяких вскл знаков и ::
Αλεχ
скорее более привычно
🐁 Arutrancetro
и без <>
Αλεχ
:: нужен потому что так сделан парсер
Cat
🐁 Arutrancetro
ну $ можно убрать
Αλεχ
есть ToArray, ToList и все