マトリックスの最初と最後の列を削除する目に見えないコンポーネントと目に見えるコンポーネントを持つMLモジュール。 マトリックスは、以下に示すようにリストのリストとして格納されます。再マップを使用したsmlマップと構造
| 4 | 5 | 6 | 7 | | 8 | 9 | 10 | 11 | | 12 | 13 | 14 | 15 | => 4x4配列
上記の行列は、 val mat = [[4,5,6,7]、[8,9,10,11]、[12,13,14,15] ];
私はマップ機能を使用する必要があります。
サンプルラン:
- ヴァルマット= [4,5,6,7]、[8,9,10,11]、[12,13,14,15]。
- S.reduce(マット);
ヴァルそれは= [[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
正しい答えを見つけるためにどのように?
リストは任意の長さを持つことができますが、タプルは固定長です:(a、bのような4タプルを扱う関数を定義した場合、リストは長さを持つことができます。 、a、b、c、d、e、f、g)のような他のタプルを扱うことはできません。だから、タプルではなくリストを使って作業する必要があります。パターンマッチングを使用する。 –