Scala如何返回常量

时间:2017-02-18 18:20:14

标签: scala function constants

我正在研究一些练习问题并且非常混淆如何返回“常量”

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类。

1 个答案:

答案 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。希望这有助于你的第二项任务。