Публикации по теме 'function-composition'


Композиция функций в JavaScript
JavaScript полон причудливых терминов, подъема, каррирования, принуждения и многого другого. Что может немного напугать новичков. Одной из таких концепций JS является композиция функций. Этот блог представляет собой попытку изложить концепцию, лежащую в основе этого, с простотой JS, приукрашенной композицией функций. Теперь вам может быть интересно, каково определение композиции функций! Композиция функций - это процесс объединения двух или более функций для создания новой..

Напишите свою собственную функцию groupBy и функцию агрегирования/свертывания в Javascript. Часть 2
Эта статья является продолжением моей прошлой статьи, в которой я создал собственную функцию groupBy , написанную на машинописном языке. Я расширю некоторые функциональные возможности группировки, а также свяжу сгруппированные значения на основе некоторой функции. Мы напишем нашу функцию fold декларативно. Давайте посмотрим на SQL-запрос, чтобы сложить некоторые сгруппированные значения: В приведенном выше SQL-запросе AVG представляет собой функцию агрегирования/свертывания,..

Вопросы по теме 'function-composition'

В чем разница между . (точка) и $ (знак доллара)?
В чем разница между точкой (.) и знаком доллара ($) ? Насколько я понимаю, они оба являются синтаксическим сахаром из-за того, что не нужно использовать круглые скобки.
182778 просмотров
schedule 19.01.2024

Haskell: не удается составить функцию с двумя плавающими аргументами
Я пытаюсь составить функцию типа (Floating a) => a -> a -> a с функцией типа (Floating a) => a -> a , чтобы получить функцию типа (Floating a) => a -> a -> a . У меня такой код: test1 :: (Floating a) => a -> a...
1315 просмотров
schedule 01.11.2022

Объединить 2 функции списка в 1?
Как бы я объединил следующие 2 функции: replaceNth n newVal (x:xs) | n == 0 = newVal:xs | otherwise = x:replaceNth (n-1) newVal xs replaceMthNth m n v arg = replaceNth m (replaceNth n v (arg !! m)) arg в одну функцию? Является ли это...
189 просмотров

Комбинация бесточечных функций в Python
У меня есть некоторые предикаты, например: is_divisible_by_13 = lambda i: i % 13 == 0 is_palindrome = lambda x: str(x) == str(x)[::-1] и хотите логически объединить их, как в: filter(lambda x: is_divisible_by_13(x) and is_palindrome(x),...
2875 просмотров

Правила перезаписи Haskell и композиция функций
Почему Haskell требует нескольких правил перезаписи в зависимости от метода композиции функции и ее длины? Есть ли способ избежать этого? Например, учитывая следующий код... {-# RULES "f/f" forall a. f ( f a ) = 4*a #-} f a = 2 * a это...
729 просмотров
schedule 10.06.2024

Подсказка по составу функций
просто ищу объяснение, как работает следующая композиция: (=<<) . return где (=<<) :: (a -> m b) -> m a -> m b return :: a -> m a (.) :: (b -> c) -> (a -> b) -> a -> c Окончательный тип:...
351 просмотров

Бесточечная композиция с несколькими переменными
Я начал обдумывать это, и мне нравится использовать его для простых ситуаций, в которых я могу по существу передавать значения с одного выхода на один вход. Простым примером бесточечной композиции, с которой мне удобно, будет: let joinLines =...
1393 просмотров
schedule 25.12.2022

карта . композиция функций папки - Haskell
Итак, давайте сразу к делу. :t (map.foldr) (map.foldr) :: (a1 -> a -> a) -> [a] -> [[a1] -> a] Что такое [[a1] -> a]? Я действительно пытаюсь понять эту композицию, поэтому я делал это: -- map.foldr map.foldr :: (a1...
2553 просмотров
schedule 29.05.2023

Составление функций в Haskell с функциями арифметического типа
Сейчас я изучаю Haskell и пытаюсь поиграть с композицией функций. Я написал две функции. let func1 x y = x + y let func2 t = t*2 Однако, когда я пытаюсь скомбинировать эти две функции, func2 . func1 1 2 я ожидаю получить 6. Вместо...
143 просмотров
schedule 01.06.2022

Состав функций Haskell, тип (.)(.) и как они представлены
Итак, я знаю, что: (.) = (f.g) x = f (g x) И это тип (B->C)->(A->B)->A->C Но как насчет: (.)(.) = _? = _? Как это представлено? Я подумал о: (.)(.) = (f.g)(f.g)x = f(g(f(g x))) // this (.)(.) = (f.g.h)x = f(g(h x)) // or this...
2222 просмотров

Композиция функций с forall
Может кто-нибудь объяснить мне, почему следующее не работает? foo :: Int -> ST s Int foo = return bar :: (forall s. ST s Int) -> Int bar = runST baz :: Int -> Int baz = bar . foo Ошибка выдается для `баз: Couldn't match type...
35 просмотров
schedule 24.12.2022

Привязать немонадные функции к монаде
Может быть, это часто задаваемый вопрос, но я не нашел ответа. Связывание монады определяется следующим образом: (>>=) :: m a -> (a -> m b) -> m b На данный момент я делаю это: foo :: Int foo = sum $ ((*11) . (+2))...
144 просмотров
schedule 14.06.2022

Haskell: вложенные скобки против точечной записи
Задача 2 проекта Эйлер гласит: каждый новый член последовательности Фибоначчи генерируется путем сложения двух предыдущих членов. Начиная с 1 и 2, первые 10 членов будут: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... Рассмотрев члены...
331 просмотров

Ошибка компилятора при использовании композиции функций: невозможно преобразовать значение типа `([Character]) -> String` в ожидаемый › тип аргумента `_ -> _`
Я играю с пользовательским оператором >>> для композиции функций, который предлагается здесь . Я определил следующее: infix operator >>> { associativity left } func >>> <A, B, C>(f: B -> C, g: A -> B)...
186 просмотров

Haskell и композиция функций
Я изучал базовую композицию функций в Haskell, и пока я играл, я понял кое-что, что не могу объяснить. Когда я использую следующий блок кода, компилятор, кажется, доволен этим и работает нормально: doSomeX x = if x==7 then True else False doSomeY...
103 просмотров
schedule 22.11.2022

Преобразователи монад Скалаз. Применение функции f1:A =› G[B], f2:B =› G[C] к объекту F[G[A]]
У меня есть две (или более) функции, определенные как: val functionM: String => Option[Int] = s => Some(s.length) val functionM2: Int => Option[String] = i => Some(i.toString) У меня также есть некоторые данные, определенные как:...
403 просмотров

Составить функцию с двумя аргументами
Сегодня я столкнулся с чем-то, что сбило меня с толку. Я пытался определить функцию, эквивалентную Data.Text.commonPrefixes , который отбрасывает все, кроме префикса. Следующие работы: commonPrefix :: Text -> Text -> Maybe Text...
44 просмотров

Составление функции с более высокой арностью в Ramda
Я с нетерпением пытаюсь изучить функциональное программирование в js, но мне трудно. Мне кажется, что я постоянно делаю что-то вроде этого, что совсем не кажется правильным: export const getParamFromUrl = R.curry((name, url) => R.compose(...
397 просмотров

Как согласовать Javascript с каррированием и композицией функций
Я люблю каррирование, но есть несколько причин, по которым многие разработчики Javascript отвергают эту технику: эстетические опасения по поводу типичного рисунка карри: f(x) (y) (z) опасения по поводу снижения производительности из-за...
341 просмотров

Составление функций length и elemIndices
Я написал функцию count :: Char -> String -> Int , которая подсчитывает количество вхождений Char внутри String . Пример кода: module Main where import Data.List main :: IO () main = do print $ count 'a' "abcaaba" count ::...
97 просмотров
schedule 04.11.2022