1

ケース クラス オブジェクトのリストをループするために、Scala でファンキーな for ループを試しています。

case class SimpleCredits(credits: CreditType, quantity: Int)

val s = for{
   i <- Users.findCreditsByUser(u)
   t <- i.credits
   if(i.quantity > 0)
} yield t

Intellij は結果の s が気に入らず、その理由がわかりません。

コンパイルしようとすると、次のようになります。

value filter is not a member of enums.CreditType.CreditType

私はこれをグーグルで検索し、同様の問題と手荷物の可能性がある数人の投稿を見ましたが、具体的なものは見つかりません.

それで、それはうまくいくはずですか、それとも私は何か間違ったことをしていますか?

4

1 に答える 1

1

あなたが達成しようとしているのはこれだと思います:

val s = for{
   i <- Users.findCreditsByUser(u)
   if (i.quantity > 0)
   t = i.credits
} yield t

または同等:

val s = for{
   i <- Users.findCreditsByUser(u)
   if(i.quantity > 0)
} yield i.credits
于 2013-05-24T10:48:14.123 に答える