2

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

谢谢你

4

1 回答 1

2

不,没有这样的功能。

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

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

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