gpt4 book ai didi

racket - 在打字 Racket 中进行 curry

转载 作者:行者123 更新时间:2023-12-02 02:16:43 24 4
gpt4 key购买 nike

在常规 Racket 中,((curry * 2) 3) 按预期工作,结果为 6

但是,在打字 Racket 中:

> ((curry * 2) 3)
; readline-input:3:0: Type Checker: could not apply function;
; wrong number of arguments provided
; expected: 0
; given: 1
; in: ((curry * 2) 3)
; [,bt for context]

为什么?

最佳答案

我相信这与 * 只能接受一个参数这一事实有关,因此当您使用参数对其进行柯里化(Currying)时,它会返回一个不接受其他参数的过程。在 typed/racket 的命令行中输入 (curry * 2) 并观察结果:(-> Number)

请注意,只有返回类型,没有参数。我在打字 Racket 中看不到解决这个问题的方法,但我希望这至少能解释为什么会发生这种情况。只要更复杂的过程没有只采用一个参数的选项,您就应该安全地使用柯里化(Currying)。

关于racket - 在打字 Racket 中进行 curry ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43097625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com