【发布时间】:2012-10-13 04:40:31
【问题描述】:
SML 中是否有一个函数可以添加两个等长的元组,如 (3,1,2) 和 (4,3,1) 并返回 (7,4,3)?
谢谢
【问题讨论】:
SML 中是否有一个函数可以添加两个等长的元组,如 (3,1,2) 和 (4,3,1) 并返回 (7,4,3)?
谢谢
【问题讨论】:
不,没有这样的功能。
如果不对长度进行硬编码,也无法自己编写,即您可以编写一个接受两个长度为 2 的元组的函数或一个接受两个长度为 3 的元组的函数,但不可能编写一个这需要两个任意(但相等)长度的元组。 SML 的类型系统根本不允许您像这样抽象元组的长度。
对于特定的长度,当然可以自己轻松定义:
fun addPairs (x1, y1) (x2, y2) = (x1 + x2, y1 + y2)
【讨论】: