有没有办法检索函数的arity?例如,给定以下功能:
def moop[I,O](func: I => O) = {
val arity = I.???
???
}
我如何得到func
的遗产?
答案 0 :(得分:3)
如果I
是一个元组,您可以在其上调用继承自Product
的productArity
方法。
如果你有一个你只知道它是某种函数的对象,你必须检查(有限的)FunctionN
类的集合,因为没有像元组那样的常见超类型。看起来我们目前Function0
最多Function22
。