Я - попытка создать неизменные Наборы/Карты из Seq. Я в настоящее время делаю следующее:
val input: Seq[(String, Object)] = //.....
Map[String, Object]() ++ input
и для наборов
val input: Seq[String] = //.....
Set[String]() ++ input
Который кажется немного замысловатым, есть ли лучший путь?
]В Scala 2.8:[
] [Welcome to Scala version 2.8.0.r20327-b20091230020149 (Java HotSpot(TM) Client VM, Java 1.6.
Type in expressions to have them evaluated.
Type :help for more information.
scala> val seq: Seq[(String,Object)] = ("a","A")::("b","B")::Nil
seq: Seq[(String, java.lang.Object)] = List((a,A), (b,B))
scala> val map = Map(seq: _*)
map: scala.collection.immutable.Map[String,java.lang.Object] = Map(a -> A, b -> B)
scala> val set = Set(seq: _*)
set: scala.collection.immutable.Set[(String, java.lang.Object)] = Set((a,A), (b,B))
scala>
]
[][]Редактирование 2010.1.12[][
] []Я нахожу, что есть более простой способ создания набора. [
] [scala> val seq: Seq[(String,Object)] = ("a","A")::("b","B")::Nil
seq: Seq[(String, java.lang.Object)] = List((a,A), (b,B))
scala> val set = seq.toSet
set: scala.collection.immutable.Set[(String, java.lang.Object)] = Set((a,A), (b,B))
]