0
帶有不可見和可見組件的ML模塊刪除矩陣的第一列和最後一列。 矩陣存儲爲列表清單,如下所示:sml映射和結構使用遞歸
| 4 | 5 | 6 | 7 | | 8 | 9 | 10 | 11 | | 12 | 13 | 14 | 15 | =>是4×4陣列
上面的矩陣將被存儲爲 val mat = [[4,5,6,7],[8,9,10,11],[12,13,14,15] ]。
我需要使用地圖功能。
樣品試驗:
- VAL墊= [[4,5,6,7-],[8,9,10,11],[12,13,14,15]];
- S.reduce(mat);
VAL IT = [5,6],[9,10],[13,14]:INT名單列表
但我嘗試不同的方法,如:
fun reduce(x,y,z,t)=(y,z);
val mat = [(4,5,6,7),(8,9,10,11),(12,13,14,15)];
map reduce(mat);
輸出:
- val reduce = fn : 'a * 'b * 'c * 'd -> 'b * 'c
val mat = [(4,5,6,7),(8,9,10,11),(12,13,14,15)] : (int * int * int * int) list
val it = [(5,6),(9,10),(13,14)] : (int * int) list
如何找到正確的答案?
列表可以有任何長度,但元組有固定長度:如果你定義了一個函數來處理4元組,如(a,b ,c,d),它不能處理(a,b,c)或(a,b,c,d,e,f,g)等其他元組。所以你需要在這裏使用列表,而不是元組。使用模式匹配。 –