andrei
стабл предлагает юзать nightly
andrei
лол
Маjко
Нормально, если фичи нужны
andrei
кароч я походу че-то не так делаю
ㅤ
andrei
как тут без лайфтайма обойтись?
andrei
Маjко
Вообще ты делаешь дичь
ㅤ
Где лайфтайм на функции и параметрах?
andrei
andrei
в доке так
ㅤ
Он клонабл
andrei
а если там не utf
Маjко
а че делать
String::from_utf8(output.stdout.clone())
Маjко
Тогда будет ошибка
ㅤ
Возвращать резалт, Стринг если юникод, иначе ошибка
Маjко
Сейчас у тебя возвращается Cow с лайфтаймом, который внутри функции
Маjко
Так не получится
andrei
andrei
а синтаксис ? для резалтов стабл?
Маjко
Конечно да
Маjко
Очень-очень давно
Маjко
Уже даже для Option question-mark стабл
պլհկ
@inv2004 я уже говорил, но ещё раз: с такими проблемами надо на реддит/оф. форум, где сами разработчики все разьяснят и по IRy разберут (а может и поправят). Здесь таких экспертов нет, наносекунды никто не считает.
Oleh Franchuk
Чем бенчмарк делаете?
Oleh Franchuk
Rustc имеет опцию incremental linking, что не наблюдаю?
Αλεχ
https://medium.com/@veedrac/rust-is-slow-and-i-am-the-cure-32facc0fdcb
This post stops short in describing _why_ internal iteration is faster in some circumstances.
It seems to me that there’s no inherent reason, only that the compiler isn’t producing optimal code, so I don’t understand why adding traits and mental overhead is the right “solution”.
Αλεχ
полностью согласен с чуваком
Αλεχ
функциональный стиль намного лучше, чем какие-то булки прокидывать изнутри итератора
andrei
по таплам можно итерировать?
Αλεχ
Встроенного трейта нет. Но думаю, это потому что это бесполезно
Αλεχ
у тебя есть случай, где возвращается тапл неизвестной размерности?
andrei
Kerrigan
питоновский тапл не может менять свой размер
andrei
а parse просто числа не вытаскивает из строк? "rust5353".parse::<i32>() падает
andrei
как parseInt в жс
Dårk
Dårk
в js и не такое работает
Dårk
не обязательно ж всё тащить в раст
Dårk
регулярку юзай, я хз
andrei
а ок
Αλεχ
Зачем регулярку?
Рома
match queue.wait_for_event()
{
MouseAxes{x: abc1, y: abc2 , ..} => {x_mouse = abc1; y_mouse = abc2;},
_ => (),
}
Рома
как работает вот это
x: abc1, y: abc2
Рома
как это называется, чтобы прочитать
Рома
переменные abc1 и abc2 больше нигде не объявлены
Αλεχ
rust
fn main() {
let num = "rust5353".chars().filter(|c| c.is_numeric()).collect::<String>().parse::<i32>().unwrap();
println!("{}", num);
}
andrei
andrei
с лиспа на раст не так красиво выходит
Αλεχ
или так:
rust
fn main() {
let num = "rust5353".chars().skip_while(|c| !c.is_numeric()).collect::<String>().parse::<i32>().unwrap();
println!("{}", num);
}
чтобы семантику сохранить
Αλεχ
andrei
скрипт простой
Αλεχ
регулярки медленные, хотя преждевременная оптимизация тоже зло
Рома
Loyd
Αλεχ
всегда медленно
andrei
дка?
Αλεχ
проверено
Αλεχ
по крайней мере покуда мы про практику говорим, а не про книгу дракона ))
andrei
я просто доку по чикен схеме после ракета не осилил, он походу единственный бинарники собирает
Αλεχ
дка?
https://habrahabr.ru/post/141503/
Kerrigan
FSM же
Loyd
Даже на задачах, где можно в КМП, регулярки не сильно медленнее будут
Loyd
Проверенно куча раз
Loyd
А где не применимо, то там и выбора особо нет
Cuno
У вас что-то у всех всё проверено, а линков на бенчмарки нету.
Loyd
Ну, может бенчи и есть
Loyd
Самое крупное, на чём проверялось — когда у одного букмекера была ручка, по которой можно было вытащить абсолютно все текущие события, отдавала 50-80миб
でゲソ
Saphire
Loyd
Зачем, если за тебя это сделает "компилятор" регулярок?
Αλεχ
на моем опыте прирост до 10 раз может доходить
Αλεχ
не считая времени на компиляцию регулярки, считаем что она вшита уже
Alexander