Я пытаюсь переместить столбец в ассоциативный список.Мне также дан исходный столбец и пункт назначения.Моя цель состоит в том, чтобы, найдя элемент с соответствующим источником столбца, переместить его в заданный столбец назначения и сдвинуть все остальные элементы к месту, которое когда-то занимал источник.
Я могу найти соответствующий элемент свыражение совпадения, но я действительно не знаю, что делать, когда доберусь туда.
let move_column (src:int) (dst:int) alist =
let switcher src dst alist = match alist with
|[] -> []
|(row,col,data)::t -> if col = src switcher(*what now?*)
Вот пример того, что я пытаюсь сделать.
move_column 1 3 [(1,1,"a"); (1,2,"b"); (1,3,"c"); (1,4,"d")] should
result in (possibly a permutation of) [(1,1,"b"); (1,2,"c"); (1,3,"a");
(1,4,"d")]