2

(3,1,2) と (4,3,1) のような同じ長さの 2 つのタプルを追加して (7,4,3) を返す SML の関数はありますか?

ありがとうございました

4

1 に答える 1

2

いいえ、そのような機能はありません。

長さをハードコーディングせずに自分で書く方法もありません。つまり、長さ 2 のタプルを 2 つ取る関数や、長さ 3 のタプルを 2 つ取る関数を書くことはできますが、2 つのタプルを取る関数を書くことはできません。任意の (しかし等しい) 長さのタプル。SML の型システムでは、そのようなタプルの長さを抽象化することはできません。

もちろん、特定の長さについては、自分で簡単に定義できます。

fun addPairs (x1, y1) (x2, y2) = (x1 + x2, y1 + y2)
于 2012-10-12T20:40:31.077 に答える