パターンマッチングで定義を実装するときに引数をラップしないようにするにはどうすればよいですか?
例:
def myDef(a: A, b:B, c: C): D = (a,c,d) match {
  case ('qsdqsd, _ , _ ) => ???
  case _ => ???
}
パターンマッチングで定義を実装するときに引数をラップしないようにするにはどうすればよいですか?
例:
def myDef(a: A, b:B, c: C): D = (a,c,d) match {
  case ('qsdqsd, _ , _ ) => ???
  case _ => ???
}
代わりにタプルを関数の引数として取ることができます:
def myDef(abc: (A,B,C)): D = abc match {
  case ('qxpf, _, _) => ???
  case _ => ???
}
ユーザーは、非タプル引数リストを自動的にタプルに昇格させます。観察:
scala> def q(ab: (Int,String)) = ab.swap
q: (ab: (Int, String))(String, Int)
scala> q(5,"Fish")
res1: (String, Int) = (Fish,5)
-block を直接PartialFunction使用できるように、として宣言できます。caseこれは、s のブロックがScalacaseのPartialFunction であるため機能します。
val myDef: PartialFunction[(A, B, C), D] = {
  case ("qsdqsd", b, c) => b + c
  case _ => "no match"
}
println(myDef("qsdqsd", "b", "c"))
println(myDef("a", "b", "c"))