3
我有我的教授给出的这个功能,我不知道实际发生了什么。这个移调功能是如何工作的?
这里是计算一个m-n矩阵的转置功能:
let rec transpose = function
| [] -> failwith "cannot transpose a 0-by-n matrix"
| []::xs -> []
| xs -> List.map List.head xs :: transpose (List.map List.tail xs)
测试功能:
> transpose [[1;2;3];[4;5;6]];;
val it : int list list = [[1; 4]; [2; 5]; [3; 6]]
我明白List.map,递归和所有的东西。我只是不明白为什么/如何这个功能的作品。任何澄清将不胜感激!谢谢!
谢谢!这是一个解释的地方! – name