私は定数のパターンマッチングを試みています。 私はAny
としてc3
の戻り値の型を取得しますが、私はそれが私はそれはあなたがあなたの中に、他のケースが欠落しているNone
パターンマッチングは戻り値の型をAnyとして返します
object Currency {
sealed trait Currency {def name: String}
case object EUR extends Currency {val name = "EUR"}
//etc.
case object INR extends Currency {val name = "INR"}
//etc.
val list = Seq(EUR, INR)
def currency(name: String): Option[Currency] = list.find(_.name == name)
}
val c1=Currency.currency("INR")
val c3=if(c1.isDefined)c1.get match {
case Currency.INR => Currency.EUR
case Currency.EUR=> Currency.INR
}
以外であれば
上記戻り
None
あなたはしかし、あなたはそのシナリオをカバーするために、デフォルトのケースを含めることができ、または収集使用の代わりに、一般的には最後のポイントを説明してくださいすることができます大文字と小文字が一致しない場合はNoneを返すようにマップします。 – coder25@ coder25回答を更新しましたが、何らかの点について明確化が必要な場合は教えてください – puhlen
ok collectはコレクションを作成するのに使用されます。パターンマッチングで役立ちます – coder25