我可以在Scala中创建空元组或字符串吗?

Azu*_*ula 3 scala

我需要返回的元组,但一旦出了问题我想回空的元组,像Seq.empty[Type]Nil在列表中.可能吗?我也很好奇是否可以使用String类型.

Jör*_*tag 8

我想要返回空元组

这没有意义.元组不是集合."空虚"的概念简直是非感性的.元组的长度是其类型的一部分.因此,空元组是一种与非空元组不同的类型.

事实上,谈论"元组"作为一种类型甚至没有意义.有成对(2元组aka Tuple2),三元组(3元组aka Tuple3),四元组,五元组,六元组,七元组,八元组,9元组,10元组等,它们都是不同的类型.

此外,或多或少你可以用元组做的唯一明智的事情是提取它的元素.所以,对于没有元素的元组,你几乎没有任何明智的事情可以做.没有值且没有操作的结构有什么用?这完全没用.

事实上,0元组与该Unit值同构,该值表示缺少有用值.在Scala和Haskell中,空元组的语法实际上用于表示Unit值:

val u = ()
// => u: Unit = ()
Run Code Online (Sandbox Code Playgroud)

我也很好奇是否可以使用String类型.

是的,当然,你可以有一个空字符串:

val s = ""
// => s: String = ""
Run Code Online (Sandbox Code Playgroud)