为什么FunctionN(0-22)ProductN(1-22)TupleN(1-22)?

斉日光*_*斉日光 6 scala

api有FunctionN(0-22)ProductN(1-22)TupleN(1-22)问题是:1.为什么数字是22的结尾?为什么不是21或23?2.为什么功能从0开始?但产品和元组不是?

Mor*_*itz 12

拥有一个Product或一个Tuple不包含元素的东西是没有意义的.这些相当于Unit.

Function0 存在是因为函数不一定采用参数(例如,在名称参数的情况下).

在这种情况下Tuple22,Function22我不知道为什么Scala团队选择22作为最大值,但是使用那些需要超过22个参数的许多成员或函数的元组肯定是尴尬的.

可能是因为对JVM可以处理的方法的参数有多少限制.

  • 实际上,没有技术理由停在22.它是自动生成的,但必须停在_some_数字处.人们已经使用创建脚本来生成更大的元组和函数. (6认同)
  • 我想在23岁时停下来会有机会参与阴谋理论...... (4认同)