tuple
サイズを指定せずにa を部分的に一致させる方法はありますか? たとえば、タプルがあった場合
val v = ( "Dr", "John","H", "Watson")
次のようなことができるようになりたいです:
v match {
case ( "Dr", : _*) => "What's up, Doc?"
case ( "Mr", name, :_*) => s"Welcome, Mr. ${name}"
case _ => "Have we met?"
}
これはコンパイルされません。:_*
通常、パラメーターの数が不定であることを意味しますが、この場合は明らかに使用できません。アイデアは、このマッチャーを 2 より大きい任意のタプルに使用できるようにすることです。最初に (たとえば) に変換できることはv
わかっList
ていtuple
ます。
編集:私がウェブで見つけたほとんどの情報はこの議論であり、これはscala 2.8にさかのぼるので、「いいえ、できません」という答えを出します。