Sergey
бля
Sergey
писал-писал
Sergey
запутался нах
Sergey
английский не очень гибкий
Sergey
по идее трейт это интерфейс
Sergey
и реализуя трейт, мы как бы говорим, что структура А может быть представлена как Х
Sergey
а такое имя сущности Х не всегда возможно дать на английском
Anton
тут вопрос первичности
Anton
если тебе нужен одинаковый интерфейс всех драйверов
Anton
тогда трейт Существительное
Anton
А если у тебя реализует только часть для каких то нужд тогда хз =)
Sergey
вот да
Sergey
мне понравилась идея описывать WithX
Sergey
типа Product WithPrice
Sergey
impl WithPrice for Product
правда уже не так хорошо выглядит
Sergey
а вот
impl Priceable for Product
Sergey
уже логичнее
Anton
PriceGetter =)
Sergey
а в случае если есть set_price
то уже не так ((
Anton
PriceGet / PriceSet
Sergey
ну вот да
Sergey
и Priceable: PriceGet + PriceSet
Loo
java
Loo
Маjко
big
кстати о p2p: есть такой проект https://libp2p.io
big
готовая библиотека на Go вроде есть и пилиться под rust
https://github.com/libp2p/rust-libp2p
big
tomaka пилит
doc
Видел чо-то типа Senior DevOps Blockchain Engineer, post-ICO fintech startup.
Петушиное бинго!
doc
Ещё бы на расте
kitsu
еще бы на окамле
doc
Где этот стикер из твин пикса?
Loo
Loo
doc
doc
мне вот этот был нужен
t1db1t
https://www.labirint.ru/books/630003/
t1db1t
было?
Loo
Dmitry
посоны. Всем здарова. Сейчас ряд тупых вопросов будет
Dmitry
Dmitry
вот такая борода. Что не так ?
Andrei
Composite<??????>
Dmitry
Nikita
Компилятор не понимает какой тип в типопараметре
Andrei
вы composite каким типом параметризуете?
Dmitry
Dmitry
Dmitry
Dmitry
error: chained comparison operators require parentheses
Victor
struct Composite<T> {
leaf: Vec<T>
}
fn main() {
let c = Composite::<i32> {
leaf: Vec::new()
};
}
Cuno
А, так она есть: "help: use ::<...> instead of <...> if you meant to specify type arguments"
Dmitry
Sergey
ребзя
Sergey
как у вектора метод называется который сворачивает массив в одно значение
типа fold/reduce
Артем
О ДМК пресс уже книгу O'Reilly перевели.
Marat
Sergey
fold?
https://doc.rust-lang.org/stable/std/vec/struct.Vec.html
Sergey
не нашел ((
Marat
Так он у итератора наверное
Andrei
.iter().fold?
Sergey
а блин
Sergey
спасибо да
Sergey
забыл
Loo
вот такая борода. Что не так ?
Ты создал тип - стурктуру Composite с тип-параметром T.
Дальше ты пытаешься создать инстанс данного типа.
Так как у твоего типа есть тип-параметр то компилятор должен понимать какого типа этот тип параметр будет конкретно в данном инстансе.
Как это может случиться: 1) ты укажешь ему явно тип через тип конструктор Composite::<ТУТ_ТИП_КОТОРЫЙ_ТЫ_ХОЧЕШЬ_КОТОРЫЙ_БУДЕТ_ПОДСТАВЛЕН_ВНУТРИ ТВОЕГО ТИПА> 2) компилятор может вывести это из того что ты попытаешься положить в твоё типизированное поле - если там явно что то передаётся (число, строка) 3) ты можешь указать тип явно в let a : Composite<ТУТ_ТВОЙ_ТИП> = .. и тогда он поймёт что у тебя там будет
вот примеры: https://play.rust-lang.org/?gist=4af241a294158544df12e126a81dbd33&version=stable
Loo
очевидно что ты хотел сказать как в неигрушечном
Loo
:(
Sergey
Ты о чем
Sergey
Как трейт именовать?
Sergey
Или структуру описывающую цену
Sergey
Хорошее дело
Anton
А если сеттер?)
Anton
Разные
Anton
get_price set_price
պլհկ
L E N S
Denis
и это только публичный интерфейс
Anton
В плане извращения ситаксиса, расту есть куда расти
Sergey
чем это раст уродливый?
Sergey
лайфтаймы только