currying 相关问题

Currying是将带/ n / arguments的函数转换为一系列/ n /函数的过程,每个函数都带一个参数。像Haskell这样的语言使用它作为默认参数应用程序机制,因为它使某些编程技术(如部分应用程序)更容易。

在 F# 中,如何映射/提升结果被柯里化的函数?

我有一个带有元组的结构构造函数,但我需要用两个数组来构造它。我当前的解决方案在尝试映射函数时遇到了问题。柯里化消失了。

回答 1 投票 0

如何使用 Ramda 将 javascript 中的简单平均函数转换为 pointfree 形式?

如何将以下简单平均函数转换为无点形式(使用 Ramda)? var _average = 函数(xs) { return R.reduce(R.add, 0, xs) / xs.length; }; 我已经这样有一段时间了,没有...

回答 4 投票 0

如何编写一个返回另一个函数的函数?

在Python中,我想编写一个函数make_cyclone_volume(r),它返回另一个函数。返回的函数应该可以使用参数 h 调用,并使用

回答 6 投票 0

如何找到这个柯里化函数的返回类型?

加法(int a) => (int b) => (int c) => a+b+c; 这是函数 当我调用addition(1)(2)(3)时它会打印 6 没问题 我想知道这个函数的返回类型 我正在尝试...

回答 3 投票 0

函数类型签名中的右结合性

我很难理解 Haskell 中类型签名背后的推理。 1) as -> 据说是右结合词,是不是可以像考试那样理解...

回答 2 投票 0

C++ 元编程中的模板柯里化

这更多是一个概念性问题。我试图找到将两个参数模板(参数是类型)转换为一个参数模板的最简单方法。即,绑定其中一种类型。 这...

回答 3 投票 0

如何创建可调用变量来调用带参数的类方法?

我正在尝试为类方法创建一个可调用变量。 类人{ 方法 walk(Str $direction) { 说“走$方向”; } } 我可以创建一个可调用变量...

回答 1 投票 0

如何将第二个参数传递给带有3个参数的Haskell函数?

我现在正在学习Haskell,我对此感到非常好奇。 例如: 减 :: Int -> Int -> Int -> Int 减去 x y = x - y - z 如果我想先将 y 传递给函数 [minus] 该怎么办...

回答 1 投票 0

sum(2)(3) 和 sum(2, 3) 两者的共同解决方案是什么

我在采访中被问到这个问题。 对于柯里化风格的 sum(2)(3) 总和(一){ 返回(b){ 返回a+b; } } 对于总和 (2, 3) 总和(a,b){ 返回a+b; } 有没有什么共同的功能...

回答 6 投票 0

如何修复递归函数的“并非所有类型的组成部分都是可调用的”?

所以我有一个柯里化其他函数的函数: const curry = (fn: (...args: TArg[]) => TReturn) => { const 柯里化 = (...args: TArg[]) => args.length < fn.

回答 1 投票 0

被这个高级柯里化函数弄糊涂了,它是如何工作的?

我一直在学习柯里化函数,我理解了我阅读的基本示例,但是我真的很想理解这个给出了高级函数的示例,但我发现...

回答 0 投票 0

apply() 是否像 bind() 一样预先添加参数?

根据 https://leetcode.com/problems/curry/editorial 以下 2 个实现是等效的: var curry = 函数 (fn) { 返回函数 curried(...args) { 如果 (args.length >= fn.leng...

回答 0 投票 0

PHP 中的柯里化

这次我尝试在 PHP 中实现柯里化(就像我们在 Javascript 中所做的那样)。以下是我的代码不起作用: 这次我尝试在 PHP 中实现currying(就像我们在 Javascript 中所做的那样)。以下是我的代码不起作用: <?php function test(callable $fn){ $reflection = new ReflectionFunction($fn); $args = count($reflection->getParameters()); $curried = function(...$currArgs) use($args, $fn){ if(count($currArgs) == $args){ return $fn(...$currArgs); }else{ return function(...$currArgs2) use($args, $fn, $currArgs){ return $curried(array_merge($currArgs, $currArgs2)); }; } }; return $curried; } $c = test(fn($x, $y, $z) => $x + $y + $z); echo $c(10)(20,30); 问题: 它给了我未定义的变量$curried如你所见here. 问题: 我们怎么能递归地调用相同的柯里化函数,因为我在这里看不到实现这个的方法? 预期输出: 预期的输出应该是 60 在回调中完成 fn($x, $y, $z) => $x + $y + $z

回答 0 投票 0

在函数式编程中使用柯里化/柯里化函数有什么好处?

如果您将 inner_multiply 视为 multiply 的初始值设定项,您是否应该让它们松散耦合并 DI 初始值设定项(或任何其他方式),特别是如果您需要多个初始值设定项?或者...

回答 2 投票 0

在 Ruby 中使用关键字参数柯里化过程

假设我有一个通用的 Proc、Lambda 或方法,它带有一个可选的第二个参数: pow = -> (base, exp: 2) { base**exp } 现在我想柯里化这个函数,给它一个 exp 3。 立方体 = pow...

回答 4 投票 0

使用 TypeScript,我可以键入 getProperty 的柯里化版本吗<T, K extends keyof T>

示例来自 https://www.typescriptlang.org/docs/handbook/advanced-types.html function getProperty(o: T, name: K): T[K] { 返回o[名称]; // o[name] 的类型是 T[K]...

回答 4 投票 0

将 m 元函数与 n 元函数组合在一个 (m+n) 元函数中,返回它们的结果对

我不知道这个应用程序会有多有用,但我对它很好奇,因为这个 C++ 回答了我的一个问题。 因此,假设给定一个三元 f 和一个二进制 g,例如 f x y z = x + 10*y ...

回答 1 投票 0

柯里化可以通过协程实现吗?

是否可以通过协程实现函数柯里化?你会怎么做? 通常,如果我需要柯里化一个函数,我会像这样使用 boost::hana::curry,但我很想知道 C++20 的

回答 1 投票 0

generic和ramda库的curry()一起使用时,generic不适用

这是一个在map中通过key查找并返回一个值的函数,如果没有找到则返回一个defaultValue。 从“不可变”导入{地图}; 从“ramda”导入{咖喱}; exp...

回答 1 投票 0

如何创建更动态的函数? (Java 脚本)

问题是创建一个使用柯里化或类似方法返回函数的函数。 然后老师让我们让它更有活力。 如果有“n”个参数怎么办...

回答 0 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.