OCaml在循环后重置int ref值

时间:2016-10-16 00:48:56

标签: int ocaml immutability ref

我目前有一个嵌套的for循环,在检查值之后它会增加函数内的每个ref int,我想要做的是在内部for循环的每次迭代后将ref int重置为0,但是我所做的一切已经完成给了我一个语法错误,并想知道我是否可以得到一些帮助。

for i = 0 to striL -1 do 
    for j = !tempH to !tempT do
        countChar demoStri.[!tempH];
        if (!countA = !countC) && (!countC = !countG) && (!countG = !countT) then subStricount := !subStricount +1
    done
    let !countA = 0
    let !countC = 0
done

这是我目前所拥有的,而countChar是一个函数,只需检查字符串中的某些字符,并递增每个'count'值。而且我也试图重置为0。

1 个答案:

答案 0 :(得分:1)

将引用设置为0:

. . .
done;
countA := 0;
countC := 0

请注意;的用法。你不能简单地写一个接一个的表达式,你需要用;分隔它们。 (实际上,没有分隔符的两个相邻表达式表示函数调用。)