(3,1,2) と (4,3,1) のような同じ長さの 2 つのタプルを追加して (7,4,3) を返す SML の関数はありますか?
ありがとうございました
いいえ、そのような機能はありません。
長さをハードコーディングせずに自分で書く方法もありません。つまり、長さ 2 のタプルを 2 つ取る関数や、長さ 3 のタプルを 2 つ取る関数を書くことはできますが、2 つのタプルを取る関数を書くことはできません。任意の (しかし等しい) 長さのタプル。SML の型システムでは、そのようなタプルの長さを抽象化することはできません。
もちろん、特定の長さについては、自分で簡単に定義できます。
fun addPairs (x1, y1) (x2, y2) = (x1 + x2, y1 + y2)