我有以下内容:
def retSomething(x: Int): Int => Int = x*x
assert(retSomething(5)(5) == 25)
assert(retSomething(1)(1) == 1)
assert(retSomething(1)(0) == 0)
Run Code Online (Sandbox Code Playgroud)
但断言失败了.当然这是正确的,但它表示在运行时缺少实现.
我认为您正在寻找的实施是:
def retSomething(x: Int): Int => Int = y => x * y
Run Code Online (Sandbox Code Playgroud)
该方法retSomething意味着什么?它需要一个Int并返回一个函数Int => Int.该函数Int => Int接受另一个Int并返回一个Int.
所以我们想要一个带有新 功能的函数返回Int,这就是我们需要的原因:y => x * y.
类型推断在这里工作得很好,你不需要写(但可以): (y: Int) => x * y
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |