Публикации по теме 'functor'


ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ С ОСНОВ
Концепции Мы начнем с изучения функций в математике, а затем углубимся в функциональное программирование на JavaScript и варианты его использования в реальном мире. Мы обсудим замыкания, функторы, встроенные функции более высокого порядка, такие как карта, фильтр, сортировка и т. д., цепочки функций и асинхронный JavaScript. Наконец, мы построим мини-научную основу, используя понятия, изученные в этой серии. Предпосылки Промежуточный уровень программирования на JavaScript и..

Функторы в C+; простое объяснение на примерах
В этой статье я расскажу что такое функтор в C++ и где бы вы хотели их использовать . охватывает несколько примеров кода . Необходимым условием для правильного понимания функторов является то, что вы знаете, что такое функции , классы, объекты и что такое перегрузка оператора . Интуитивно функторы представляют собой гибрид между объектом класса и традиционными функциями. Пример 1: Функторы как альтернатива повторяющимся функциям Допустим, мы хотим создать функцию,..

Привет, Рубенс, классная статья!
Привет, Рубенс, классная статья! Функциональное программирование и теория категорий в JavaScript - это так весело! Кстати, трюки Symbol.species очень крутые, я оставлю их на потом. Однако я не уверен, правильно ли я понял ваше объяснение о монадах (цитата мистера Элиотта о характеристиках монады мне не очень понятна). Я понимаю, что монада - это функтор (у нее есть метод map ) с функцией flatMap и функцией of , которые позволяют вам обернуть значение монадой. Что меня беспокоит в..

Истинное использование монад в FP
Часть 2: Проблема мотивации в JS Проблема мотивации Ваш менеджер просит вас написать функцию countCharsOfFriendsPosts , которая по идентификатору пользователя подсчитывала бы количество символов в сообщениях, сделанных друзьями пользователя. Ваш менеджер сообщает вам, что база данных пользователей будет представлена ​​в виде массива в вашей локальной памяти, как показано ниже: Будучи опытным функциональным программистом, вы быстро узнаете, что countCharsOfFriendsPosts..

Прагматические функторы
или как я научился перестать беспокоиться и полюбить Коробку Пролог Изначально это было электронное письмо. То, что это превратилось в новеллу, должно пролить свет на то, почему я пишу так мало писем. Тем не менее, много говорится о мистификации и демистификации этой концепции. Я подумал, что вместо того, чтобы закончить это электронное письмо, я брошу свою шляпу на ринг и одновременно попытаюсь создать некоторый контент. Функтор - это не что иное, как концептуальный блок, в..

Истинное использование монад в FP
Часть 1. Суть функционального программирования Почему монады полезны в FP? Большинство начинающих функциональных программистов знакомо с изрядной долей «учебников» по ​​монадам. Тем не менее, несмотря на огромное количество информации по этой теме, понимание относительно просто определяемой монады по-прежнему ускользает от большинства. Я убежден, что причина этого в том, что большинство «учебников» дают определение вместе с аналогиями, чтобы помочь людям понять определение, но..

Вопросы по теме 'functor'

как реализовать общий функтор для нескольких классов в С++
предположим, что у вас есть два (или более) класса с закрытыми векторами-членами: class A { private: std::vector<X> priv_vec; public: //more stuff } class B { private: std::vector<Y> priv_vec; public: //more...
988 просмотров
schedule 22.02.2023

Как отсортировать std::map?
Вот моя карта: typedef std::map<int/*security id*/, PositionMonth> PortfolioMonth; где PositionMonth — структура, например: struct PositionMonth { Nav::Shares shares_; Nav::Amount market_value_;...
7073 просмотров
schedule 13.02.2023

Определить функцию C ++ во время выполнения
Я пытаюсь настроить некоторый математический код, который я написал, чтобы разрешить произвольные функции, но, похоже, я могу сделать это только путем предварительного определения их во время компиляции, что кажется неуклюжим. В настоящее время я...
5101 просмотров
schedule 29.09.2022

чистая функция функций, которая возвращает функции в D
Я пытаюсь создать чистую функцию, которая возвращает произведение двух других чистых функций: pure Func multiplyFunctions(Func,Real)(scope const Func f1, scope const Func f2) { return (Real a) { return f1(a) * f2(a); }; } К сожалению, у...
120 просмотров

STL for_each с несколькими возвращаемыми значениями и/или функтором виртуального базового класса
Я пытаюсь преобразовать некоторые циклы в свой код, чтобы использовать функциональность for_each STL. В настоящее время я вычисляю и накапливаю два отдельных значения по одному и тому же набору данных, что требует от меня повторения данных дважды. В...
1950 просмотров
schedule 13.03.2023

F# Сортировка массива кортежей
let standard = (0, 4.5M, 4L) let tuples = [| ("A", -2, 1.0M, 2L); ("B", -1, 2.0M, 3L); ("C", 0, 3.0M, 4L); ("D", 1, 4.0M, 5L); ("E", 2, 5.0M, 6L) |] let qualified = tuples...
1437 просмотров
schedule 28.04.2022

Почему экземпляр Applicative для Maybe не дает Nothing, если функция Nothing в ‹*›
Я новичок в haskell и читаю книгу «Научитесь хаскеллу». Я уже некоторое время пытаюсь переварить функторы и аппликативные функторы. В теме о прикладных функторах реализация экземпляра для Maybe дается как instance Applicative Maybe where...
1536 просмотров
schedule 10.06.2023

stl remove_if с результатом функции-члена класса
У меня есть контейнер объектов, список; и класс Foo имеют функцию-член id(), возвращающую целочисленный идентификатор. Теперь я хочу использовать алгоритм stl remove_if для удаления некоторых объектов, идентификатор которых меньше значения. Я не...
928 просмотров
schedule 09.09.2022

Как избавиться от лишнего Maybe
У меня есть функция, которая может завершиться ошибкой, поэтому возвращаемое ею значение должно быть заключено в объект Maybe. Он использует другую функцию, которая также может дать сбой и которая также заключена в объект Maybe. Проблема в том, что...
846 просмотров
schedule 30.12.2022

Я заново изобретаю колесо с этим тривиальным классом переадресации вызова метода?
Я только что обнаружил, что создаю класс template <typename T> struct invoker { void operator()(T& it) const {it();} }; поэтому я мог бы передать invoker<foo> чему-то (которое не находится под моим контролем), которое...
531 просмотров
schedule 27.04.2022

Какой самый чистый способ сравнить с результатом вызова функции-члена
Простите меня, если это уже спрашивали раньше, я просто не могу найти подходящее решение. Я часто обнаруживаю, что создаю функторы для функций-членов класса, подобных приведенным ниже, чтобы впоследствии использовать их для find_if или remove_if....
78 просмотров
schedule 24.04.2022

Указатель на функцию, которая принимает указатель на другую функцию в качестве аргумента
Это должен быть простой вопрос, но я, возможно, не смогу правильно его сформулировать или, возможно, я пытаюсь бросить вызов принципам языка C из-за отсутствия у меня опыта работы с ним. Все, что я хочу сделать, это, имея указатель на функцию,...
240 просмотров
schedule 09.06.2023

Какие монады могут быть выражены как Free над некоторым функтором?
документация для Free говорит: Ряд обычных монад возникает как свободные монады, Учитывая data Empty a , Free Empty изоморфна монаде Identity . Free Maybe можно использовать для моделирования парциальной монады, где...
1841 просмотров
schedule 30.03.2023

Вызов printf с помощью шаблонного функтора segfaults (только 64-разрядная версия, valgrind clean в 32-разрядной версии)
В настоящее время я отлаживаю некоторый код C++, написанный в конце 90-х годов, который анализирует сценарии для загрузки данных, выполнения простых операций, вывода результатов и т. д. Люди, написавшие код, использовали функторы для сопоставления...
334 просмотров
schedule 26.03.2023

Шаблонная функция, принимающая вызываемые функторы с параметрами X
Я пишу размещенную программу на C++, которая запускает написанный пользователем C-код, скомпилированный на лету. Крайне важно, чтобы некоторые типичные исключения перехватывались из C-кода и обрабатывались/игнорировались. Для этого я вызываю код C...
2600 просмотров
schedule 18.01.2024

Экземпляр функтора для GADT с ограничением типа
Сегодня я хотел исследовать, можно ли построить тип данных таким образом, чтобы он сохранял не данные типа своей сигнатуры типа, а другое его представление. Итак, вот моя попытка GADT, который имеет конструктор типа типа a , но конструктор данных...
1353 просмотров
schedule 17.04.2024

Как работает упаковка указателя функции и объекта функции в универсальном коде?
Следующее определение шаблона template <typename Func, typename ReturnType, typename... Arguments> class Command { public: Command(Func f) : m_func(f) { } ReturnType operator()(Arguments... funcArgs) { return m_func(funcArgs...); }...
807 просмотров

Функция или функтор как параметр шаблона? (Если ему не нужно состояние)
Говорят, что преимущество функторов по отношению к функциям заключается в том, что они сохраняют состояние . Скажем, в моей проблеме это не актуальная функция. Когда я определяю шаблонную функцию/класс, есть ли какое-либо правило для выбора,...
1697 просмотров
schedule 08.12.2022

Оболочка функции через шаблон класса (объект функции) (с переменным числом переменных)
С++ Я пытаюсь реализовать оболочку функции через шаблон класса (объект функции) (вариативный). Класс имеет в качестве единственного члена данных указатель на функцию, который инициализируется указателем функции, который он обертывает, или...
1414 просмотров

boost::function против указателей на функции
Я реализую универсальный считыватель настроек. Идея в том, что у меня есть приложение, настройки которого могут быть логическими, целыми и строковыми. Затем у меня есть класс Config, где реализованы геттеры для таких настроек, класс config берет...
1324 просмотров