SML: получить элемент из списка - PullRequest
3 голосов
/ 19 декабря 2011

Вопрос по стандарту ML (SML). Можно ли получить элемент из списка, используя индекс строки и столбца? Примерно так:

myList = [(1,9,3),(3,5,5),(7,0,1)]
myList[1,2] // 1st row 2nd column => in this case 9

1 Ответ

2 голосов
/ 19 декабря 2011

Я не думаю, что это хорошая идея думать в терминах "строк" и "столбцов", но да, вы можете сделать то, что вы описываете, написав это:

#2 (List.nth (myList, 0))    (* 0th element, component #2 -- in this case 9 *)

List.nth является частью Стандартной базовой библиотеки ML ; он отображается от 'a list * int до 'a. В этом случае List.nth (myList, 0) равно (1,9,3). (Обратите внимание, что в нем используется индексация с нуля.) #2 является встроенной частью языка, ссылаясь на помеченный 2 компонент записи (такой как, как в этом случае, второй компонент кортеж).

...