斯卡拉可能在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