小编hdw*_*dw3的帖子

只有一个参数函数有效吗?哈斯克尔

我已经开始学习 Haskell 并且我已经读到 Haskell 中的每个函数都只接受一个参数,我无法理解 Haskell 引擎盖下发生的魔法使之成为可能,我想知道它是否有效。

例子


>:t (+)
(+) :: Num a => a -> a -> a
Run Code Online (Sandbox Code Playgroud)

上面的签名意味着(+)函数接受一个Num然后返回另一个接受一个Num并返回一个的函数Num


示例 1相对简单,但我开始想知道当函数稍微复杂一些时会发生什么。

我的问题


为了这个例子,我编写了一个zipWith函数并以两种方式执行它,一次传递一个参数,一次传递所有参数。

zipwithCustom f (x:xs) (y:ys) = f x y : zipwithCustom f xs ys
zipwithCustom _ _ _ = []
zipWithAdd = zipwithCustom (+)
zipWithAddTo123 = zipWithAdd [1,2,3]

test1 = zipWithAddTo123 [1,1,1]
test2 = zipwithCustom (+) [1,2,3] [1,1,1]

>test1
[2,3,4]
>test2
[2,3,4]
Run Code Online (Sandbox Code Playgroud)
  1. 正在通过一个参数的时候(scenario_1)一样有效,所有参数传递一次(scenario_2) …

performance haskell arguments function

5
推荐指数
1
解决办法
165
查看次数

TypeScript 会看到未在 tsconfig 的“types”字段中声明的全局类型

我有一个包含多个 tsconfig 文件的项目,因为我正在使用 Angular 构建电子应用程序,并且我希望电子代码有不同的配置,而角度代码有不同的配置。

\n

简化的项目结构:

\n
 Foobar //angular app root folder\n\xe2\x94\x9c\xe2\x94\x80\xc2\xa0app //electron app root folder\n\xe2\x94\x82\xc2\xa0\xc2\xa0\xe2\x94\x9c\xe2\x94\x80\xc2\xa0**/*.ts //multiple folders with .ts files\n\xe2\x94\x82\xc2\xa0\xc2\xa0\xe2\x94\x9c\xe2\x94\x80\xc2\xa0test\n\xe2\x94\x82\xc2\xa0\xc2\xa0\xe2\x94\x82\xc2\xa0\xc2\xa0\xe2\x94\x94\xe2\x94\x80\xc2\xa0test.ts\n\xe2\x94\x82\xc2\xa0\xc2\xa0\xe2\x94\x94\xe2\x94\x80\xc2\xa0tsconfig.json\n\xe2\x94\x9c\xe2\x94\x80\xc2\xa0src //angular code\n\xe2\x94\x9c\xe2\x94\x80\xc2\xa0node_modules\n\xe2\x94\x9c\xe2\x94\x80\xc2\xa0package.json\n\xe2\x94\x9c\xe2\x94\x80\xc2\xa0tsconfig.app.json\n\xe2\x94\x9c\xe2\x94\x80\xc2\xa0tsconfig.json\n\xe2\x94\x94\xe2\x94\x80\xc2\xa0tsconfig.spec.json\n
Run Code Online (Sandbox Code Playgroud)\n

\xc2\xa9 由项目树生成器生成

\n

我的问题

\n

Angular代码正在使用jasmine,但我想用它jest来测试electron代码。由于某种原因,我看不到jest内部的类型Foobar/app/test/test.ts,因为它们以某种方式被jasmine.

例如

\n
expect(foobar1).toMatchObject(foobar2); //Property \'toMatchObject\' does not exist on type \'FunctionMatchers<any>\'\n//but I can see Jasmine types and methods\n
Run Code Online (Sandbox Code Playgroud)\n

但是当我改变时Foobar/app/tsconfig.json

\n
{\n  "compilerOptions": {\n    "target": "es2018",                               \n    "module": "commonjs",                           \n    "lib": ["es2018"], …
Run Code Online (Sandbox Code Playgroud)

types typescript tsconfig electron angular

5
推荐指数
0
解决办法
627
查看次数

如何在请求正文中将地图从 Angular 客户端正确发送到 Spring Boot 控制器?收到的地图总是空的

Angular 客户端- httpClient 发送请求

const map: Map<string, string> = new Map<string, string>();
map.set('foo', 'bar');
this.http.post(address, map, httpOptions).subscribe(
  next => console.log('next: ' + next),
  error => console.log('error: ' + error),
  () => console.log('complete')
);
Run Code Online (Sandbox Code Playgroud)

Springboot 服务器-控制器接收请求

@RequestMapping(value = "/foobar", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public void fooBar(@RequestBody Map<String, String> foo){
    System.out.println(foo.entrySet());  //<-- always empty
}
Run Code Online (Sandbox Code Playgroud)

java spring dictionary controller angular

4
推荐指数
1
解决办法
3844
查看次数

在 github 页面上部署 angular 应用程序后,图像未加载

我使用以下命令在 github 页面上部署了一个测试项目:

ng build --prod --base-href https://<profile_name>.github.io/<repo_name>/
ngh --dir=dist/scrabble
Run Code Online (Sandbox Code Playgroud)

除了图像外,一切正常(在本地主机上,每个图像都在加载)。


angular.json 中的输出路径:

"outputPath": "dist/scrabble/",
Run Code Online (Sandbox Code Playgroud)

angular.json 中的资产:

"assets": [
  "src/favicon.ico",
  "src/assets"
],
Run Code Online (Sandbox Code Playgroud)

带有图像的资产文件夹位于 <project_folder>/src/assets

在本地主机上完美运行但在 github 页面上无法加载的图像标签示例:

  <img src="../../../assets/scaledlogo.png" routerLink="/menu" />
Run Code Online (Sandbox Code Playgroud)

deployment image github github-pages angular

3
推荐指数
1
解决办法
3200
查看次数

Node.js如何在网站完全加载后获取HTML

我使用 node.js 得到的 HTML 与我在浏览器中看到的 HTML 有很大不同(使用 google chrome 检查功能)。我认为发生这种情况是因为在使用浏览器时我必须等待某些元素加载,但在创建请求时我不会等待它们。我如何请求完全加载的 HTML?是否可以不假装成真正的用户(傀儡师)?

例如,我尝试从此链接https://clips.twitch.tv/IronicPoishedTermite4Head获取视频元素 ,但视频元素根本不存在于我获取的 HTML 中。

const fetch = require("node-fetch");
const jsdom = require("jsdom");

(async () => {
  let htmlDoc = await fetch("https://clips.twitch.tv/IronicPoisedTermite4Head")
    .then((res) => res.text())
    .then((body) => body); //body is totally different than HTML in the browser
  try {
    const document = new jsdom.JSDOM().window.document;
    console.log(htmlDoc);
    console.log(document.getElementsByTagName('video')[0]);
  } catch (e) {
    console.log(e);
  }
})();
Run Code Online (Sandbox Code Playgroud)

html javascript browser node.js web-scraping

1
推荐指数
1
解决办法
1333
查看次数

如何使用Python中的函数方法将具有常见元素的列表分组到字典中?

我正在尝试将列表聚合到字典中。第一列可以被视为 id,第二列可以被视为一些随机元素。我希望分配给同一 id 的所有元素都分组在该 id 下的列表中。Id=None,空列表需要过滤掉,并且不允许有重复的元素。

可能看到输入和输出会更有表现力
这是输入:

[
    [1, 1],
    [2, 1],
    [2, 2],
    [2, 3],
    [2, 3],
    [2, 4],
    [],
    [None, 5]
]
Run Code Online (Sandbox Code Playgroud)

这是预期的输出:

{
    1: [1],
    2: [1, 2, 3, 4]
}
Run Code Online (Sandbox Code Playgroud)

我陷入了这种功能性和命令性的混合:

filtered_groups = list(filter(lambda group: len(group) == 2 and group[0] is not None, groups))
grouper = {}
for group in filtered_groups:
    id = group[0]
    element = group[1]
    grouper_entry = grouper.get(id)
    if not grouper_entry:
        grouper_entry = grouper[id] = []
    if element not in grouper_entry: …
Run Code Online (Sandbox Code Playgroud)

python grouping dictionary functional-programming list

1
推荐指数
1
解决办法
52
查看次数