リストから指定された要素を抽出しようとしていますが、一致例外が発生しますか?
目標は、関数を次のように動作させることです。
fun extract [#"a",#"b",#"c"] [0,1,0] = [#"a",#"b",#"a"];
そして、私はこのようにそれをやろうとしています:
fun extract [] _ = []
| extract xr (y::yr) = List.nth(xr, y) :: extract xr yr;
しかし、言ったように、私は
! Uncaught exception:
! Match
何か案は?たぶん、これに使用できるリスト関数が他にもいくつかありますか?関数を高階関数にするはずのカレー関数について説明しましたが、それがどのように機能するのかよくわかりません。