【发布时间】:2015-07-03 22:29:54
【问题描述】:
我已经定义了以下标识函数:-
def identity(n: Int) = n
现在我定义了一个函数funA,它返回这个identity函数:-
def funA(): (Int => Int) = identity
这很好用。基本上,我在这里说的是我返回的函数实际上接受Int 并返回Int。
现在我想更进一步。我想定义另一个函数funB,它应该返回funA。我的问题是现在返回类型不会是(Int => Int)。与funA 不同,它返回一个接受Int 并返回Int 的函数,现在我想返回一个函数(funA),它不接受任何内容并返回一个函数而不是整数。那么如何在 Scala 中从语法上写出来呢?
【问题讨论】:
-
identity和funA是方法,而不是函数。不清楚你想要什么。你不能返回一个方法,因为方法不是对象,你只能返回对象。
标签: scala