我想知道如何返回另一個列表中特定值出現的索引列表。 即 索引(1,[1,2,1,1,2,2,1]); val it = [1,3,4,7] int list標準ML - 返回列表中給定值出現的索引
我想弄清楚列表是如何工作的,並試圖在遞歸方面做得更好,所以我不想使用List.nth(或任何庫函數),我不想進入模式匹配安靜。
這是我迄今爲止
fun index(x, L) =
if null L then 0
else if x=hd(L) then
1
else
1 + index(x,tl L);
fun inde(x, L) =
if null L then []
else if x=hd(L) then
index(x, tl L) :: inde(x, tl L)
else
inde(x, tl L);
index(4, [4,2,1,3,1,1]);
inde(1,[1,2,1,1,2,2,1]);
這讓我有點像[2,1,3,0]。我想我只是很難正確地增加事物來獲得索引。索引函數本身可以正常工作。
這是有道理的,但我找不出如何做的是如何將一個飼料JUST列表L到indexi函數,然後得到相同的結果?我無法向indexi提供元組(這是我能找到的唯一方法) – Nexion