Зачем нужен unimplemented!() в языке Rust?

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

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

  • @Iso2k-Wave
    @Iso2k-Wave 8 วันที่ผ่านมา

    Спасибо большое, хотелось бы видео про замыкания и итераторы

    • @lymar-pure-magic
      @lymar-pure-magic  8 วันที่ผ่านมา

      Про итераторы уже есть - th-cam.com/video/0m_h_TKLtyw/w-d-xo.html и th-cam.com/video/Bj4cQb4kgYA/w-d-xo.html, про замыкания да, надо тоже сделать, хорошая идея!

  • @exx-ns4tt
    @exx-ns4tt 8 วันที่ผ่านมา +1

    что то типа raise NotImplementedError(string) в питоне

  • @danielklimovoff
    @danielklimovoff 7 วันที่ผ่านมา

    я обычно в таких случаях значение заглушку ставлю какое нибудь просто 0, Ok(()) или еще чето похожее

    • @lymar-pure-magic
      @lymar-pure-magic  6 วันที่ผ่านมา

      Да, конечно, это тоже вариант, но могут быть типы, для которых такое на написать. И тогда нужен unimplemented!() или, как тут уже подсказали - todo!()

  • @CZFaBgWurtbksaeGcE
    @CZFaBgWurtbksaeGcE 8 วันที่ผ่านมา

    есть ещё todo!(), вроде тоже самое делает, разницу не уловил пока)

    • @lymar-pure-magic
      @lymar-pure-magic  8 วันที่ผ่านมา

      Ну да, у unimplemented сообщение при панике "not implemented", а у todo "not yet implemented" :)

    • @nanoqsh
      @nanoqsh 8 วันที่ผ่านมา +1

      todo это макрос с намерением сделать фичу позже, а unimplemented это просто отсутствие реализации. Например, есть у тебя трейт с двумя методами, но тебе нужно реализовать только один, а второй метод не нужен или вообще никак не используется. Тогда вместо ненужной реализации этого второго методы ты втыкаешь unimplemented.
      На практике никогда не приходилось юзать unimplemented, по умолчанию IDE пихает todo и зачастую это то что нужно, так как обычно ты всё же хочешь в последствии написать там реализацию