问题标签 [first-class-functions]
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.
haskell - Haskell - 投影函数的快速命名
假设我想f
根据其他一些预定义函数定义一个函数g
,如下所示:
也就是说,我想将投影定义为f(2,_) : Int->Int
与g(_) : Int->Int
. 令人高兴的是,Haskell 具有一流的功能,因此如下定义squarePlusOne
是有效且标准的:
使用 Haskell 的柯里化(即f
只接受一个Int
作为输入并返回一个(Int->Int)
类型化的函数),我很惊讶我不能写
为什么不?还是有其他语法?
javascript - 这两个功能如何等效?
我正在阅读一本书,主要是足够的指南,在关于 First Class 函数的章节中,我遇到了这个例子。有人可以向我解释吗?
它说下面的两行是相等的。
这是两者相等的原因:
但我无法理解这部分。这两个如何等效?
有人可以用外行的方式解释吗?
ruby - Ruby 传递方法
试图理解 ruby 的复杂性,但到目前为止没有任何意义。
给出错误,这没有多大意义。我有某种语法错误还是不能在 ruby 中做?
我正在尝试做类似的事情
和
同时,这些确实有效:
javascript - JS :: First Class Functions :: 参数值混淆
我不明白第一类函数的参数“数字”如何具有它的值。
这几天我一直在考虑这个问题,但我的想法没有任何进展。没有错误代码,因为这是完全有效的 JS。
此示例代码来自 Eloquent JS 一书(http://eloquentjavascript.net/2nd_edition/05_higher_order.html#c_chCFkdNvRH第 2 版)。
我不明白为什么“数字”不被认为是未定义的。参数不应该是引用实际数组的“numbers[i]”或“numbers”吗?
f# - 我可以重写此代码以避免 F# 错误吗
我在 F# 中有以下代码
https://repl.it/repls/CarefulGiganticExtraction的实时版本
这是对一些真实代码的简化模拟,我正在尝试使用 FuncUI 进行原型制作,这是Avalonia的 Elmish 方言。
问题是当我尝试创建 Binder.oneWay 的部分应用程序时出现编译错误
错误FS0425:一等函数的类型不能包含byrefs
是否可以在视图函数的顶部创建 Binder.oneWay 函数的部分应用程序,或者我是否将自己编码到角落?
现场版再次在
function - Type mismatch on basic "apply twice" hello world in Haskell
The minimal code:
The errors generated:
How would I logically fix this issue myself? Clearly it's something I'm doing wrong. Am I missing a preamble that every example should have?
python - 试图做数学,int 对象是不可调用的
我正在尝试将一个数字传递给一个函数并让它打印结果,我有一个方程def square()
的函数,以及一个接收数字和函数的函数
我不断收到此错误:
“TypeError:'int' 对象不可调用”
我是编程新手,正在 YouTube 上观看 corey shaffer,他编写了一个与此类似的程序。我开始玩它,现在我被卡住了。
我希望打印出打印语句,arg_list(i)
并让我通过def square(x)
并将该答案存储在结果中
javascript - 如何在javascript中实现柯里化?
问题如下:
这是一个关于 JS 柯里化的问题。我已经实现了这个问题的大部分功能。棘手的一点是 .result 对我来说。
sum(1,2) 之后的 .result 是什么意思?是属性吗?
如何将 .result 添加到我的代码中?
php - PHP支持一流的函数,是什么意思
这句话是什么意思php
,
PHP 支持一流的函数
谁能简要解释一下,我在阅读文档时似乎不明白。
我会很感激一个例子。
swift - Swift:调用枚举值转换器函数作为第一类函数
使用上面的枚举,获取行星名称数组的一种方法是调用
但 Swift 支持一等函数,将函数视为“一等公民”,这允许我们像调用任何其他对象或值一样调用函数。
所以通过这个得到一个名字数组会很好
但是,编译器似乎需要更多上下文。它无法map
在编译时推断类型,所以我做了
编译器停止抱怨,但我没有得到一个字符串数组。上面的行返回一个类型的值[(SolarSystemPlanet) -> String]
如果我将以上内容打印出来,而不是得到
我有
如果我强制返回类型是[String]
这样的
Xcode 会抱怨[(SolarSystemPlanet) -> String]
无法转换为[String]
毕竟有可能实现我想要做的事情吗?我错过了什么或做错了什么?
如果不可能,我也非常感谢一些关于原因的解释。
感谢您花时间阅读我的问题!
编辑感谢@sweeper的回答。
对于那些感兴趣的人,我进一步确保每个 String 枚举都有toRawValue
注意:这是 Swift 5.1.3