Functor или Объект-Функция

Поделиться
HTML-код
  • Опубликовано: 7 сен 2024
  • Здесь пойдёт речь о весьма интересном функционале некоторых языков программирования, называемом «функтор» или «фанктор», позволяющем определить объекты классов таким образом, чтобы к ним можно было обращаться также как и к функциям.
    Данный подход является весьма мощным для решения проблем определённого вида.

Комментарии • 30

  • @radmilkaskazzi4423
    @radmilkaskazzi4423 8 лет назад +2

    Ваши видео - пример преподавательского таланта и мастерства! Спасибо, продолжайте, пожалуйста

  • @MrKnoppik
    @MrKnoppik 9 лет назад +2

    Володя, спасибо тебе за эти видео и подробные объяснения.
    Продолжай еще!

    • @SeregaZinin
      @SeregaZinin 3 месяца назад

      И что он объяснил ? Он объяснил ровным счетом ничего.

  • @Dentair
    @Dentair 7 лет назад +7

    В добавок к подобным видео, можно добавлять еще и практическую часть(отдельным видео), в каких случаях такое нужно и пример реализации, это бы отлично дополняло теоретическую часть.

    • @SeregaZinin
      @SeregaZinin 3 месяца назад

      По сути ролик абсолютно бесполезный. Есть предположение, что этот бородач сам не знает, как его применять.

  • @akramammar2053
    @akramammar2053 2 года назад +1

    first time i see a tanned Russian. That's cool

  • @Bratjuuc
    @Bratjuuc Год назад +1

    Окей, а где тут функции высшего порядка и fmap :: Functor f => (a -> b) -> f a -> f b ?
    Если оставить в стороне настоящие функторы, то это всё равно прикольный концепт, но совершенно непонятно чем скобки принципиально отличаются от публичноно метода какого-нибудь интерфейса.

  • @MrDpMaster
    @MrDpMaster 8 лет назад +2

    Не понятно как это применить. Чем "фанктор" лучше или удобнее обычного метода?

    • @VladimirMozhenkov
      @VladimirMozhenkov  8 лет назад

      +Ruslan Dp Иногда вам надо подготовить ваш метод перед тем как его вызывать. Например в одной части программы вы знаете что должен делать метод, а в другой знаете когда его вызывать.

    • @SeregaZinin
      @SeregaZinin 3 месяца назад

      @@VladimirMozhenkov , все равно не понятно.

  • @user-xq8kw7eg6m
    @user-xq8kw7eg6m 2 месяца назад +1

    в питоне это __call__ в пхп это __invoke()

  • @-________9732
    @-________9732 Год назад

    Здравствуйте. Можно задать вам пару вопросов про шэйдеры?

  • @StepanVorobiov
    @StepanVorobiov 4 месяца назад

    Тоже не понял зачем нужны эти фанкторы. Используются ли они где то в 2024?
    Но за видео Спасибо, в других местах вообще ни чего годного не нахожу по этой теме

    • @SeregaZinin
      @SeregaZinin 3 месяца назад

      По сути ролик абсолютно бесполезный. Есть предположение, что этот бородач сам не знает, как его применять.

  • @vpetevotov
    @vpetevotov 4 года назад

    Спасибо

  • @NovaDev-Stormrage
    @NovaDev-Stormrage 4 года назад

    Воу это круто!

  • @user-ix7lb1sx4k
    @user-ix7lb1sx4k 4 года назад

    Здравствуйте. Что в вашем плейлисте, кроме Наследование и
    Инкапсуляция полезно посмотреть при изучении Python?

  • @thomasmorgan9043
    @thomasmorgan9043 9 лет назад

    В других языках таких как Java особо это и не нужно, там есть интерфейсы. И все эти вещи можно сделать через них (как вариант договорится что вызов функции это вызов метода call).
    Также нужно отметить, что функтор можно вызывать еще так A.operator()()
    Сделайте еще видео про колбеки, думаю тема тоже актуальная.

    • @VladimirMozhenkov
      @VladimirMozhenkov  9 лет назад

      Thomas Morgan ruclips.net/video/dvR9j7e2wNY/видео.html В августе 2014 выложил )))

    • @thomasmorgan9043
      @thomasmorgan9043 9 лет назад

      Vladimir Mozhenkov Может тогда стоит на вашем сайте создать что-то вроде списка названий отсортированных по категориям. Я уже как 1.5 года подписан.

  • @rufat85
    @rufat85 4 года назад

    Здарова, Володя! :)

  • @zzerocks
    @zzerocks 8 лет назад

    Привет! Понятно, что это такое, но всё равно не понятно, где применить. И может ли быть возвращаемое значение у функтора?

    • @SeregaZinin
      @SeregaZinin 3 месяца назад

      По сути ролик абсолютно бесполезный. Есть предположение, что этот бородач сам не знает, как его применять.

  • @MultiOpachki
    @MultiOpachki 4 года назад

    Не раскрыто чем вызов оператора скобки лучше вызова обычного именованного метода. По сути это одно и то же.

    • @SeregaZinin
      @SeregaZinin 3 месяца назад

      По сути ролик абсолютно бесполезный. Есть предположение, что этот бородач сам не знает, как его применять.

  • @stas546
    @stas546 7 лет назад +1

    В Lua есть нечно похожее с метаметодами

  • @Rameronos
    @Rameronos 9 лет назад

    Вроде-бы всегда всё понятно с ваших видео, но вот сейчас я не понял... То есть, по сути, у нас есть возможность использовать объект еще как какую-то функцию, которая также может быть реализована, как отдельная функция класса и иметь такой же доступ ко всем переменным и функциям этого класса. В общем - какой в этом смысл? Еще и путаница возникает, создается впечатление, что мы конструктор класса вызываем, а не какую-то функцию, реализованную в виде оператора... Возможно именно из-за этого всего функторы и убрали с новых языков программирования.

    • @VladimirMozhenkov
      @VladimirMozhenkov  9 лет назад +1

      +Богдан Лошинский Из каких убрали? На сколько я знаю наоборот вводят очень даже активно даже в те, в которых не было.
      В этом смысл, когда метод, который вы будете вызывать должен идти вместе с каким-то "состоянием". То есть вам этот метод надо подготовить перед тем как вызывать что-то, и потом вы хотите может быть это состояние использовать дальше.

  • @SeregaZinin
    @SeregaZinin 3 месяца назад

    Ролик абсолютно бесполезный.

  • @user-zm2gx9ed8w
    @user-zm2gx9ed8w 4 года назад

    Спасибо