if
の中の条件を特殊化することはscalaで可能ですか?私はの線に沿って考えています:Scalaの理解のための `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