关于标准ML(SML)的问题。 是否可以通过使用行和列索引从列表中获取元素?像这样:
myList = [(1,9,3),(3,5,5),(7,0,1)]
myList[1,2] // 1st row 2nd column => in this case 9
答案 0 :(得分:2)
我不认为用“行”和“列”来思考是一个好主意,但是,是的,你可以通过写这个来做你所描述的:
#2 (List.nth (myList, 0)) (* 0th element, component #2 -- in this case 9 *)
List.nth
是the Standard ML Basis Library的一部分;它从'a list * int
映射到'a
。在这种情况下,List.nth (myList, 0)
为(1,9,3)
。 (请注意,它使用从零开始的索引。)#2
是语言的内置部分,指的是记录的2
标记组件(例如,在本例中,元组的第二个组成部分。)