为什么在Scala中没有针对单元素元组的Tuple1文字?
|
Python的单个元素元组具有
(1,)
。在Scala中,(1,2)
适用于Tuple2(1,2)
,但是我们必须使用Tuple1(1)
来获得单个元素元组。这似乎是一个小问题,但是设计期望产品的API对于传递单个元素的用户来说是一件痛苦的事情,因为他们必须编写Tuple1(1)。
也许这是一个小问题,但是Scala的主要卖点是打字更多而打字更少。但是在这种情况下,似乎打字更多,打字更多。
请告诉我:
1)我已经错过了它,它以另一种形式存在,或者
2)它将被添加到该语言的将来版本中(他们将接受补丁程序)。
没有找到相关结果
已邀请:
3 个回复
橙绥
仅当参数的静态类型尚未符合方法参数的类型时,隐式转换才适用。假设您的方法接受一个
参数
例如,转换将适用于非产品值,但不适用于ѭ7。警告:所有案例类别都扩展了“ 5”特征,因此转换也将不适用于它们。相反,乘积元素将成为case类的构造函数参数。
是
类的最小上限,但是如果要将隐式Tuple1转换应用于所有非元组,则可以使用类型类:
您可以在API中使用此类型类,如下所示:
如果您有返回产品的方法,则可以查看如何应用转换:
舶啥戚
我发现ѭ15包含结尾逗号很奇怪:
捕暑句簿姓