问题标签 [partial-application]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JavaScript 函数柯里化不适用于实例方法
我正在通过在线阅读和编写一些简单的代码来学习 JavaScript 中的函数柯里化。我在在线文章中得到了以下示例
然后我尝试了一个实例化函数的方法。所以我试着跟随。但它在倒数第二行给了我错误“无法获取未定义或空引用的属性'原型'”。我知道这个错误与柯里化无关,但我搞砸了 JS 函数概念的一些基础知识。所以我要去哪里错了。
scala - 部分应用具有隐式参数的函数
我可以将采用隐式参数的方法转换为函数吗?
我正在尝试实现以下目标,最好是如果我能以某种方式使其与普通调用一起工作withSelection(deleteObjects)
:
我发现了这个问题,但是据我所知,它不涉及从方法到功能的提升。
scala - 有没有办法可以在 Scala 中编写这个 Haskell 代码?
我正在学习一些函数式编程语言,学习感兴趣的东西,我现在正在研究 Scala。我想要做的是找出最简单的方法来编写一个名为的函数,该函数double
接受一个参数并将其加倍。到目前为止,我想出的是:
或者
这可行,但我正在寻找最简单的方法。在 Haskell 中,我可以简单地这样做:
因为它是一个部分应用的函数,所以不需要命名变量或指定任何类型(我确信*
函数会处理这些)。有没有类似的方法可以使用 Scala 做到这一点?我尝试了一些,尤其是使用_
而不是x
,但似乎没有一个工作。
javascript - 了解 Jon Resig 的部分应用实现
以下代码摘自 Jon Resig 的《JavaScript Ninja 的秘密》一书,解释了如何使用闭包来实现函数的部分应用。但是,我在理解变量的意图时遇到了问题arg
。为什么需要它以及它如何简化将一些参数预填充到函数中的问题?partial
此功能的可能应用是什么?
编辑:我很困惑,因为args
并且arguments
在这里必须相同,因为调用之后args = Array.prototype.slice.call(arguments);
args
是一个真正的数组对象,其中包含arguments
. 所以如果里面有东西undefined
,args
我们怎么可能有东西在里面arguments
呢?
haskell - 在 Haskell 中为部分应用类型创建数据构造函数
是否可以在 Haskell 中为部分应用类型创建数据构造函数?
ghci 会话:
我想为 T1 类型创建数据构造函数-甚至可能吗?还是我必须使用新类型,因为无法手动定义这样的功能?
clojure - Clojure 中 partial 的简洁语法
前段时间学习 Haskell,我爱上了 pointfree 表示法和特别方便的偏函数应用程序 - 只需提供你知道的 args。在 Clojure 中,我一直partial
都有。我认为为部分阅读器提供特殊的语法会很高兴。
看示例代码:
这太好了!有这样的事情吗?是否有可能定义自定义阅读器宏?
functional-programming - go-lang咖喱怎么做?
在像 Haskell 这样的函数式编程中,我可以定义函数
然后add 3
将返回一个带有一个参数的函数并将返回3 + something
我怎样才能在 GO 中做到这一点?
当我定义一个带有多个(比如 n 个)参数的函数时,我可以只给它一个参数并获得另一个带有 n-1 个参数的函数吗?
更新:
对不起,我原来的问题中的措辞不准确。
我认为我的问题应该作为两个问题提出:
- GO中有部分应用吗?
- GO如何做函数curry?
感谢 TheOnly92 和 Alex 解决了我的第二个问题。不过,我也很好奇第一个问题。
function - 多个参数列表和返回函数有什么区别?
def f(x: Int)(y: Int) = x + y
和 和有什么不一样def f(x: Int) = (y: Int) => x + y
?
当我将前者与后者一样对待时,REPL 似乎并不高兴:
确切的区别是什么?我什么时候应该使用哪种形式?
haskell - 为什么 Haskell 部分应用程序不起作用?
我在 Haskell 中的工作以在 Haskell 中重新处理 .Net F# 项目的形式来获得乐趣。
我正在解析一个常规的 Windows 配置文件——每行一个键/值对,键与值由=
. 这个文件非常简单明了,这让我的解析代码简单明了,我喜欢。
我的问题是为什么部分应用程序不适用于下面的最后一行代码。它显然在先前的行和其他功能中工作。
我得到的错误如下:
谢谢!
sml - SML地图功能
我有这个功能:
产生:
我不明白这个功能是如何工作的。不是每个地图函数都需要一个函数和一个列表吗?似乎没有足够的论据来实际执行。
如果我运行:
我得到:
这对我来说更有意义,因为它获取列表中的每个元素,并将其包装在另一个列表中。但是当我在上面放另一张地图时,它会改变输出。谁能给我解释一下?谢谢!