というのを書いたので貼っておきます。
Listで返す版と、Tupleで返す版。
- https://gist.github.com/xuwei-k/7c3f662a78fdd39ce00db43900470848
- https://gist.github.com/xuwei-k/c798d8faa3f4f163be0aad150b327d07:
https://t.co/GDLlxuujEc これ相当のことをScala3でやりたいんだけどreflection系の機能が足りないような気がするんだよなあ。よくわからん、という感じになってる。
— Toshiyuki Takahashi (@tototoshi) 2021年2月19日
https://t.co/5VxYnBGRsl
— Kenji Yoshida (@xuwei_k) 2021年2月21日
Scala 3、match type使うと
sealed trait A
case object B extends A
case object C extends A
case object D extends A
のときに
Tuple3(B, C, D)
で返せるし(少し改変すればHListでも)、object増減しても、その分だけ自動で型が変わるメソッド作れるな、最高じゃん