我正在研究一些练习问题并且非常混淆如何返回“常量”
x
以下是如何调用它们的示例
//Complete the following definition, so that "constant5" is a function that returns 5
// whenever it is invoked.
val constant5 : () => Int = {
}
//Complete the following definition, so that "constant" is a function that when
// invoked with integer n returns a function that returns n whenever it is invoked.
val constant : Int => () => Int = {
}
我完全不知道从哪里开始这些。 我认为新的Int(5)会解决第一个但你无法实例化Int类。
答案 0 :(得分:6)
数字本身是一个常数。方法签名的返回类型的第一部分显示了() => Int
,这意味着在没有输入的情况下,函数会产生输出。在你的情况下5。
这整行将如下所示:val constant5 : () => Int = () => 5
。
=
背后的部分是实际实现。 () => 5
表示没有输入,但返回5. (x: Int) => x
将是一个接收Int并返回给定参数(也称为标识函数)的函数。
你甚至可以嵌套它们,例如val fn: Int => Int => Int = x => y => x + y
将是一个函数,它接收一个Int并返回一个新函数,它需要另一个Int,当被调用时返回两个参数的总和。调用此操作看起来像fn(4)(5) // 9
。希望这有助于你的第二项任务。