この割り当てはInduction to Programming using sml 5.14
これが私のコードですが、ベースケースではパターンマッチングが完全ではありませんというメッセージが表示されます..
fun revrev [] = [[], []]
| revrev [x::xs,y::ys] = revrev[ys@[y], xs @ [x]];
val test1revrev = revrev [[1, 2],[3, 4, 5]];
From valtest1 I want the output [[5, 4, 3], [2, 1]]
私の機能が機能しない理由がわかりません。おそらく少し洞察が必要です。
たとえば、これは機能します...
fun rev [] = []
| rev (x::xs) = rev1 xs @ [x];
val test1rev = rev [1, 2, 3];
I get [3, 2, 1]