我经常在互联网上看到各种各样的抱怨,其他人的currying例子并不是currying,但实际上只是部分应用.
我没有找到关于部分应用是什么的合理解释,或者它与currying有何不同.似乎存在普遍的混淆,在某些地方将等效的例子描述为currying,在其他地方描述为部分应用.
有人可以向我提供这两个术语的定义,以及它们如何区别的细节吗?
language-agnostic terminology definition currying partial-application
我有两次最近重构的代码,以便更改参数的顺序,因为有太多的代码,黑客喜欢flip或\x -> foo bar x 42正在发生.
在设计功能签名时,哪些原则可以帮助我充分利用currying?
我需要将具有相同键的JSON对象合并为一个,以便它获取一个对象或数组(无论结果是对象还是数组),它保存键和值的数组
示例JSON对象:
[{
"meine_frage": "hier kommt die antwort",
"ne_andere_frage": "ne andere antwort",
"was_willst_du": "alles",
"mehr_zur_auswahl": ["einiges", "vieles und", "g\u00e4r nix"]
}, {
"meine_frage": "tom & jerry",
"ne_andere_frage": "mickey maus",
"was_willst_du": "oder",
"mehr_zur_auswahl": ["manches", "einiges", "vieles und", "g\u00e4r nix"]
}, {
"meine_frage": "dick und doof",
"ne_andere_frage": "minnie muas",
"was_willst_du": "nichts",
"mehr_zur_auswahl": ["g\u00e4r nix"]
}]
Run Code Online (Sandbox Code Playgroud)
结果应该是这样的:
[{
"meine_frage": ["hier kommt die antwort", "tom & jerry", "dick und doof"],
"ne_andere_frage": ["ne andere antwort", "mickey maus", "minnie muas"],
"was_willst_du": ["alles", "oder"],
"mehr_zur_auswahl": ["einiges", "vieles …Run Code Online (Sandbox Code Playgroud) 我已经向REST API发出了oauth签名请求,并在数组中包含响应头,如下所示:
[0] => HTTP/1.1 200 OK
[1] => Cache-Control: private
[2] => Transfer-Encoding: chunked
[3] => Content-Type: text/html; charset=utf-8
[4] => Content-Location: https://***
[5] => Server: Microsoft-IIS/7.0
[6] => Set-Cookie: ASP.NET_SessionId=***; path=/; HttpOnly
[7] => X-AspNetMvc-Version: 2.0
[8] => oauth_token: ***
[9] => oauth_token_secret: ***
[10] => X-AspNet-Version: 4.0.30319
[11] => X-Powered-By: ASP.NET
[12] => Date: Sat, 15 Sep 2012 02:01:15 GMT
Run Code Online (Sandbox Code Playgroud)
我试图找出如何解析标题以便轻松检索项目,如HTTP状态代码,Content-Location,oauth_token和oauth_token_secret?
我有数组(从数据库返回),看起来像这样:
response = {
0 = {
id = "12312132",
title = "title1",
....
createDT = "2015-03-03 22:53:17"
}
1 = {
id = "456456456",
title = "title2",
....
createDT = "2015-03-03 22:53:17"
}
2 = {
id = "789789789",
title = "title3",
....
createDT = "2015-03-03 22:53:17"
}
}
Run Code Online (Sandbox Code Playgroud)
我需要这样在字典中使用php进行转换:
response = {
"12312132" = {
title = "title1",
....
createDT = "2015-03-03 22:53:17"
}
"456456456" = {
title = "title2",
....
createDT = "2015-03-03 22:53:17"
}
"789789789" = …Run Code Online (Sandbox Code Playgroud) arrays ×2
currying ×2
php ×2
api ×1
definition ×1
dictionary ×1
haskell ×1
http-headers ×1
javascript ×1
jquery ×1
json ×1
rest ×1
terminology ×1