Вызываемый объект - Callable object
Эта статья нужны дополнительные цитаты для проверка.Май 2017 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Было предложено, чтобы эта статья была слился в Функциональный объект. (Обсуждать) Предлагается с августа 2020 года. |
А вызываемый объект, в компьютерное программирование, это любой объект, который можно назвать функция.
На разных языках
В C ++
- указатель на функцию;
- указатель на функция-член;
- функтор;
- лямбда-выражение.
std :: function
это класс шаблона который может содержать любой вызываемый объект, соответствующий его подписи.
В C ++ любой класс, перегрузки оператор вызова функции оператор ()
может вызываться с использованием синтаксиса вызова функции.
#включают <iostream>структура Фу{ пустота оператор()() const { стандартное::cout << "Называется."; }};int главный(){ Фу foo_instance; foo_instance(); // Это выведет "Called." к экрану.}
В C #
В PHP
PHP 5.3+ имеет первоклассные функции которые можно использовать, например, в качестве параметра usort ()
функция:
$ а = множество(3, 1, 4);усорт($ а, функция ($ x, $ y) { возвращаться $ x - $ y; });
В PHP 5.3+ также возможно сделать объекты вызываемыми, добавив магический __invoke ()
метод в свой класс:[1]
учебный класс Минус{ общественный функция __invoke($ x, $ y) { возвращаться $ x - $ y; }}$ а = множество(3, 1, 4);усорт($ а, новый Минус());
В Python
В Python любой объект с __вызов__()
метод может быть вызван с использованием синтаксиса вызова функции.
учебный класс Фу: def __вызов__(себя): Распечатать("Называется.")foo_instance = Фу()foo_instance() # Это выведет "Called." к экрану.
Другой пример:
учебный класс Аккумулятор: def __в этом__(себя, п): себя.п = п def __вызов__(себя, Икс): себя.п += Икс возвращаться себя.п
В дротике
Чтобы ваш класс Dart мог вызываться как функция, реализуйте вызов()
метод.
учебный класс WannabeFunction { вызов(Нить а, Нить б, Нить c) => '$а$б$c!';}главный() { вар wf = новый WannabeFunction(); вар из = wf("Здравствуй","там,","банда"); Распечатать('$из');}
Рекомендации
- ^ Документация PHP по магическим методам
- ^ Бёш, Флориан. "Что такое" вызываемый "в Python?". StackOverflow.com. Получено 24 сентября 2017.
- ^ «Экскурсия по языку дротиков». www.dartlang.org. Получено 2019-03-25.
внешняя ссылка
Эта статья о вычислительной технике заглушка. Вы можете помочь Википедии расширяя это. |