一些具有多个参数的创建元组的选项

Some with multiple arguments creates Option of Tuple

以下代码在 Scala 中如何工作?

scala> Some(2,true,3, false)
res13: Some[(Int, Boolean, Int, Boolean)] = Some((2,true,3,false))

我没有看到为某些可以采用多个参数定义的应用方法。

如果多个参数不适合,则隐式修改以构成一个元组;任何方法都会发生这种情况,这里的 Some 没有什么特别之处:

def doSomething(a: Any) = {...}
doSomething(2, true, 3, false)

您可以(而且,我认为,应该;这是一种倾向于掩盖编程错误的缺陷)通过传递标志 -Ywarn-adapted-args 让编译器在发生这种情况时发出警告。有关类似推荐标志的列表,请参阅 here

Some(2,true,3, false)Some(new Tuple4(2,true,3, false)).

的语法糖

这就是为什么类型是 Some[(Int, Boolean, Int, Boolean)]

直到 22 个元素才有效,如果您需要更多,则可以使用集合,而不是元组。