在SML中添加两个元组

时间:2012-10-12 20:36:56

标签: sml smlnj

SML中是否有一个函数可以添加两个相等长度的元组,如(3,1,2)和(4,3,1)并返回(7,4,3)?

谢谢

1 个答案:

答案 0 :(得分:1)

不,没有这样的功能。

如果没有对长度进行硬编码,也无法自己编写一个,即你可以编写一个带有两个长度为2的元组的函数或一个带有两个长度为3的元组的函数,但是不可能写一个这需要两个任意(但相等)长度的元组。 SML的类型系统根本不允许你像这样抽象一个元组的长度。

对于特定长度,您当然可以自己轻松定义:

fun addPairs (x1, y1) (x2, y2) = (x1 + x2, y1 + y2)