gpt4 book ai didi

scala - 柯里化(Currying) : How to make first input as optional?

转载 作者:行者123 更新时间:2023-12-01 11:32:12 24 4
gpt4 key购买 nike

我正在学习 Scalacurrying 的概念。这就是我在做的事情

scala> def div(a:Int)(b:Int) = a/b
div: (a: Int)(b: Int)Int

scala> div(10)(2)
res9: Int = 5

scala> val d = div(10)_
d: Int => Int = <function1>

scala> d(5)
res10: Int = 2

scala> val e = div _ (2)
<console>:1: error: ';' expected but '(' found.
val e = div _ (2)
^

scala>

问题
- 如何使 a 成为可选的而不是 b

最佳答案

可以修复b,得到一个函数Int => Int,但是需要保留括号,不幸的是要注解类型:

scala> div(_: Int)(2)
res7: Int => Int = <function1>

scala> res7(10)
res8: Int = 5

scala> res7(2)
res9: Int = 1

a 不是“可选的”,它只是结果函数中的一个参数。

关于scala - 柯里化(Currying) : How to make first input as optional?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31271642/

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