斯卡拉可能在scala中专门研究if
中的条件以便理解吗?我沿线的思考:斯卡拉的理解`if`语句
val collection: SomeGenericCollection[Int] = ...
trait CollectionFilter
case object Even extends CollectionFilter
case object Odd extends CollectionFilter
val evenColl = for { i <- collection if(Even) } yield i
//evenColl would be a SomeGenericEvenCollection instance
val oddColl = for { i <- collection if(Odd) } yield i
//oddColl would be a SomeGenericOddCollection instance
要点是,通过产生i
,我得到一个潜在的不同类型的(因此我将其称为“专业化”)的一个新的集合 - 而不是只相同GenericCollection类型的过滤版本。
我问的原因是我看到了一些我找不到的东西(可以找到一个例子on line 33 of this ScalaQuery example。它的作用是创建一个数据库查询(即SELECT ... FROM ... WHERE ...
),在那里我会预期它迭代所述查询的结果
这个问题没有多大意义。我要回答我认为正在被问到的问题,但是尝试改进它。 –
['For expressions'](http://www.artima.com/pins1ed/for-expressions-revisited.html#23.1)应该有所帮助。 – 4e6
我加了一点点来试图澄清这个问题,尽管你在思考我所问的问题时似乎是正确的。 – Dylan