Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有3个元素元组的Scala集_Scala - Fatal编程技术网

具有3个元素元组的Scala集

具有3个元素元组的Scala集,scala,Scala,如何将包含3个元素的元组放入一个集合 比如说,我有一套类型: Set[(String, String, String)] 如何简单地将3个字符串添加到集合定义中 以下是编译器的抱怨 set + ("a", "b", "c") 为什么对元组的处理不同?它与任何其他类型一样,那么为什么在我上面的例子中它会失败呢?它解析不好: scala> Set[(String,String,String)]() + (("a", "b", "c")) res3: scala.collection.imm

如何将包含3个元素的元组放入一个集合

比如说,我有一套类型:

Set[(String, String, String)]
如何简单地将3个字符串添加到集合定义中

以下是编译器的抱怨

set + ("a", "b", "c")
为什么对元组的处理不同?它与任何其他类型一样,那么为什么在我上面的例子中它会失败呢?

它解析不好:

scala> Set[(String,String,String)]() + (("a", "b", "c"))
res3: scala.collection.immutable.Set[(String, String, String)] = Set((a,b,c))
您编写的内容被解析为Set+(字符串x、字符串y、字符串z)

i、 例如,一个带有3个字符串参数的函数+,其中您想要的是一个带有单个3元组作为参数的函数+。

它不能很好地解析:

scala> Set[(String,String,String)]() + (("a", "b", "c"))
res3: scala.collection.immutable.Set[(String, String, String)] = Set((a,b,c))
您编写的内容被解析为Set+(字符串x、字符串y、字符串z)

i、 例如,一个带有3个字符串参数的函数+,其中您想要的是一个带有单个3元组作为参数的函数+。

它不能很好地解析:

scala> Set[(String,String,String)]() + (("a", "b", "c"))
res3: scala.collection.immutable.Set[(String, String, String)] = Set((a,b,c))
您编写的内容被解析为Set+(字符串x、字符串y、字符串z)

i、 例如,一个带有3个字符串参数的函数+,其中您想要的是一个带有单个3元组作为参数的函数+。

它不能很好地解析:

scala> Set[(String,String,String)]() + (("a", "b", "c"))
res3: scala.collection.immutable.Set[(String, String, String)] = Set((a,b,c))
您编写的内容被解析为Set+(字符串x、字符串y、字符串z)


i、 例如,一个带有3个字符串参数的函数+,其中您想要的是一个带有单个3元组作为参数的函数+。

请注意+的签名作为一个示例:

def +(elem1: A, elem2: A, elems: A*): HashSet[A] 
(来自)

这种语法意味着向一组元组添加元组需要双括号,一个用于容纳+的语法,另一个用于元组。例如:

scala> import scala.collection.immutable.HashSet
import scala.collection.immutable.HashSet

scala> val set: Set[(String, String, String)] = new HashSet[(String, String, String)]()
set: Set[(String, String, String)] = Set()

scala> val newset = set + (("one", "two", "three"))
newset: scala.collection.immutable.Set[(String, String, String)] = Set((one,two,three))

对于不受括号限制的元素集,不会出现此问题,因为这样就不会与+的语法混淆。

请注意,HashSet的+签名就是一个例子:

def +(elem1: A, elem2: A, elems: A*): HashSet[A] 
(来自)

这种语法意味着向一组元组添加元组需要双括号,一个用于容纳+的语法,另一个用于元组。例如:

scala> import scala.collection.immutable.HashSet
import scala.collection.immutable.HashSet

scala> val set: Set[(String, String, String)] = new HashSet[(String, String, String)]()
set: Set[(String, String, String)] = Set()

scala> val newset = set + (("one", "two", "three"))
newset: scala.collection.immutable.Set[(String, String, String)] = Set((one,two,three))

对于不受括号限制的元素集,不会出现此问题,因为这样就不会与+的语法混淆。

请注意,HashSet的+签名就是一个例子:

def +(elem1: A, elem2: A, elems: A*): HashSet[A] 
(来自)

这种语法意味着向一组元组添加元组需要双括号,一个用于容纳+的语法,另一个用于元组。例如:

scala> import scala.collection.immutable.HashSet
import scala.collection.immutable.HashSet

scala> val set: Set[(String, String, String)] = new HashSet[(String, String, String)]()
set: Set[(String, String, String)] = Set()

scala> val newset = set + (("one", "two", "three"))
newset: scala.collection.immutable.Set[(String, String, String)] = Set((one,two,three))

对于不受括号限制的元素集,不会出现此问题,因为这样就不会与+的语法混淆。

请注意,HashSet的+签名就是一个例子:

def +(elem1: A, elem2: A, elems: A*): HashSet[A] 
(来自)

这种语法意味着向一组元组添加元组需要双括号,一个用于容纳+的语法,另一个用于元组。例如:

scala> import scala.collection.immutable.HashSet
import scala.collection.immutable.HashSet

scala> val set: Set[(String, String, String)] = new HashSet[(String, String, String)]()
set: Set[(String, String, String)] = Set()

scala> val newset = set + (("one", "two", "three"))
newset: scala.collection.immutable.Set[(String, String, String)] = Set((one,two,three))
对于不受括号限制的元素集,不会出现此问题,因为这样就不会与+(String,String)的语法混淆。

Set[(String,String)]()+(“a”->“b”)在只有两个元素的情况下也会起作用。那是什么意思?我是说->接线员。。。那是什么?Predef对象保存所有预导入的函数。其中包括“any2ArrowAssoc”。箭头ASSOC保留->功能。箭头是一个中缀运算符,用于从左手和右手参数创建一个2元组。那是什么意思?我是说->接线员。。。那是什么?Predef对象保存所有预导入的函数。其中包括“any2ArrowAssoc”。箭头ASSOC保留->功能。箭头是一个中缀运算符,用于从左手和右手参数创建一个2元组。那是什么意思?我是说->接线员。。。那是什么?Predef对象保存所有预导入的函数。其中包括“any2ArrowAssoc”。箭头ASSOC保留->功能。箭头是一个中缀运算符,用于从左手和右手参数创建一个2元组。那是什么意思?我是说->接线员。。。那是什么?Predef对象保存所有预导入的函数。其中包括“any2ArrowAssoc”。箭头ASSOC保留->功能。箭头是一个中缀运算符,用于从左手和右手参数创建一个2元组。