我是SML的新手,我正试图获取列表中项目的索引.我知道使用List.nth会给我一个索引位置的项的值,但我想要索引值.甚至可能有一个我不知道的内置功能.在我的情况下,列表将不包含重复项,因此如果项目在列表中我得到索引,如果不是它返回〜1.这是我到目前为止的代码.它有效,但我认为它不是很干净:
val L=[1,2,3,4,5];
val m=length L-1;
fun Index(item, m, L)=if m<0 then ~1 else
if List.nth(L, m)=item then m else Index(item,m-1,L);
Run Code Online (Sandbox Code Playgroud)