Дженерики и Трейты в Rust

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ธ.ค. 2024

ความคิดเห็น • 39

  • @АндрейШевелёв-г2щ
    @АндрейШевелёв-г2щ หลายเดือนก่อน +3

    Я сам не на расте, а на плюсах, но видосы у тебя оч интересные и красивые. Продолжай в том же духе!

  • @two-spikes
    @two-spikes 3 หลายเดือนก่อน +8

    _с c++20 можно указывать ограничения вот так:_
    template
    requires std::is_same::value
    T sum(T a, T b) {
    return a + b;
    }

    • @nanoqsh
      @nanoqsh 3 หลายเดือนก่อน +2

      Полезно, но с сожалению эта фича опт-ин. Далеко не каждая библиотека будет требовать ограничение шаблонного параметра. В расте же ограничения на женерики тотальны, они есть всегда и везде, даже в собственном коде

    • @pkowak
      @pkowak 2 หลายเดือนก่อน +1

      ​@@nanoqsh в этом и есть философия плюсов, что никто ничему не заставляет, хочешь писать ансейф код - сидишь пишешь довольный

    • @nanoqsh
      @nanoqsh 2 หลายเดือนก่อน +2

      @@pkowak в общем, философия писать код как попало

    • @GhostVlVin
      @GhostVlVin หลายเดือนก่อน

      До с++20 можно было впилить static_assert(std::same_is) первой строчкой и тогда код не скомпилируется с ассерта

    • @taloonys9418
      @taloonys9418 หลายเดือนก่อน

      ​​​@@GhostVlVinдо с++20 тоже есть sfinae...
      enable_if, void_t, bool_constant и прочее с std::type_traits. Концепты с 20-ых это просто синтаксический сахар для этого ужаса. Потому что шаблонный код на плюсах это ультра error-prone вещь, в которой ещё и надо вычитывать огромный список попыток инстанцирования в случае ошибки.
      В раст это сделано билт ин и можно заранее диагностировать, хотя и есть некоторые ограничения

  • @kirillkarateev1241
    @kirillkarateev1241 3 หลายเดือนก่อน +7

    Было бы круто разобрать какой-нибудь популярный крейт, типа Serde или Tokio.

    • @PublicAccount0
      @PublicAccount0 3 หลายเดือนก่อน

      на англ языке есть.

  • @Dedgay
    @Dedgay 3 หลายเดือนก่อน +2

    очень хороший видос, ставлю класс

  • @daiske2867
    @daiske2867 3 หลายเดือนก่อน +1

    приводились примеры на С++, озвучилось, нет уточнений классов, начиная с 20 стандарта, появились концепты, мне, кажется, это про это.
    Не то, чтобы это было важно, да и повествование, сильно не меняет, и я вообще не пользовался этими самыми концептами, да и не озвучивается какой конкретно стандарт имеется в виду, да и не по С++ канал.
    Во всяком случае, спасибо автору за его труд!!!

    • @bitwiseuwu
      @bitwiseuwu  3 หลายเดือนก่อน +2

      Я несколько изучил приёмы C++, которые позволяют делать что-то похожее на Rust, но не нашёл ничего хотябы приблизительно простого и очевидного как в Rust. Концепты и static_assert внутри темплейтов представляются мне больше хаками, чем естественно вписывающимися в логику языка элементы Rust

  • @BobStark-zj3ub
    @BobStark-zj3ub 3 หลายเดือนก่อน +2

    У меня просьба, пожалуйста. Я никогда не изучал ни С ни С++, вы делаете сноски на эти языки это очень хорошо для других, но меня это путает. Вы добавляете логотипы языков чтоб было всем понятно это супер удобно, но есть некоторые места где нет логотипа и они я так понимаю на RUST, но вы переодически делаете словесные сноски на языки С в результате я путаюсь. Пожалуйста добавляйте во все части кода логотипы языков. Пусть будет маленькая пометочка логотипа RUST на всех частях кода. Спасибо за Ваш вклад в уроки - я очень благодарен и ценю Ваш труд.

  • @PublicAccount0
    @PublicAccount0 3 หลายเดือนก่อน +2

    спасибо за материалы, может, как нить попробуешь ещё стрим и чтобы тема не была такой большой как делать майнкрафт.

  • @abdelk.2060
    @abdelk.2060 3 หลายเดือนก่อน

    Емко и понятно!

  • @alanford9260
    @alanford9260 3 หลายเดือนก่อน +2

    Хороший канал! Что за тема VScode?

    • @bitwiseuwu
      @bitwiseuwu  3 หลายเดือนก่อน +4

      Она называется Rusty Colors и я её автор:
      marketplace.visualstudio.com/items?itemName=ioannuwu.vscode-rusty-colors

  • @Pentatron33
    @Pentatron33 3 หลายเดือนก่อน

    Видео хорошее!
    Но на минуте 6-ой, когда начинается пример с `trait From`, мне кажется там ошибка в имплементации трейта: там где километры должно быть `* 1000.0`, а где миллиметры - `/ 1000.0`.
    А может я не до конца уловил реализацию `trait From` )

    • @mk72v2oq
      @mk72v2oq 3 หลายเดือนก่อน

      Там все правильно. Слово "from" переводится как "из". То есть конвертация ИЗ километров и ИЗ миллиметров в метры.

    • @Pentatron33
      @Pentatron33 3 หลายเดือนก่อน

      ​@@mk72v2oq Я оказался всё-таки прав, там ошибка (видимо автор канала перепутал операции).
      К сожалению удалили комментарий с ответом, в котором была ссылка на песочницу с кодом, не поленитесь и воспроизведите его.

    • @Pentatron33
      @Pentatron33 3 หลายเดือนก่อน

      @@mk72v2oq Я оказался всё-таки прав, там ошибка (видимо автор канала перепутал операции).
      К сожалению удалили комментарий с ответом, в котором была ссылка на песочницу с кодом, не поленитесь и воспроизведите его.

    • @Pentatron33
      @Pentatron33 3 หลายเดือนก่อน

      Там всё-таки ошибка, проверил в песочнице.

  • @usercommon1
    @usercommon1 3 หลายเดือนก่อน +1

    харош

  • @nanoqsh
    @nanoqsh 3 หลายเดือนก่อน +3

    База

  • @y9mly
    @y9mly 3 หลายเดือนก่อน +1

    В некоторых случаях автор натягивает Раст реализацию на Котлин, и говорит что там так нельзя. Да, нельзя, но в котлине так не делают. А так как делают - там проблем нет

    • @bitwiseuwu
      @bitwiseuwu  3 หลายเดือนก่อน +4

      Kotlin тут служит как пример работы дженериков в большинстве языков - понятно, что он изначально создавался под другие задачи, но я хочу сказать, что некоторые паттерны Rust просто не реализуемы в других языках, что и делает его уникальным

  • @Sneg00vik
    @Sneg00vik 3 หลายเดือนก่อน

    "Два вида дженериков" режет слух. Всё-таки правильное название для "type: T" это "асоциированный тип". Такой вид записи, через "type: T", показывает, что тип T должен быть определён в impl блоке.

  • @ДемьянКомаров-в8м
    @ДемьянКомаров-в8м 3 หลายเดือนก่อน +1

    Абсолютно не интересен раст. Но превью, название видео, название и ава канала… все так стильно, достаточно просто и стильно.. в общем просто лайк поставил и ушел

    • @nanoqsh
      @nanoqsh 3 หลายเดือนก่อน

      Так почему не интересен? Почему бы не начать на нём писать?

  • @hotswap.agency
    @hotswap.agency 3 หลายเดือนก่อน +14

    Лучший рускоязычный канал по расту, как насчёт того что бы разобрать дизайн-паттерны в расте? :)

    • @kirillkarateev1241
      @kirillkarateev1241 3 หลายเดือนก่อน +1

      Было бы славно

    • @PublicAccount0
      @PublicAccount0 3 หลายเดือนก่อน +2

      типа как некие модели скелетов приложений?
      если так, то имеет смысл, новичкам тяжело понять с чего начать.
      да, Автор годно составляет, озвучивает материал.

    • @XeliyataOwO
      @XeliyataOwO 3 หลายเดือนก่อน +1

      Поддерживаю оба высказывания

    • @PublicAccount0
      @PublicAccount0 3 หลายเดือนก่อน

      @@XeliyataOwO взаимно.

    • @n1ret
      @n1ret 3 หลายเดือนก่อน

      ​@@PublicAccount0read about OOP patterns

  • @ДемьянКомаров-в8м
    @ДемьянКомаров-в8м 3 หลายเดือนก่อน

    Абсолютно не интересен раст. Но превью, название видео, название и ава канала… все так стильно, достаточно просто и стильно.. в общем просто лайк поставил и ушел