SML中是否有一个函数可以添加两个相等长度的元组,如(3,1,2)和(4,3,1)并返回(7,4,3)?
谢谢
答案 0 :(得分:1)
不,没有这样的功能。
如果没有对长度进行硬编码,也无法自己编写一个,即你可以编写一个带有两个长度为2的元组的函数或一个带有两个长度为3的元组的函数,但是不可能写一个这需要两个任意(但相等)长度的元组。 SML的类型系统根本不允许你像这样抽象一个元组的长度。
对于特定长度,您当然可以自己轻松定义:
fun addPairs (x1, y1) (x2, y2) = (x1 + x2, y1 + y2)