Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ocaml中的反向数组_Ocaml - Fatal编程技术网

Ocaml中的反向数组

Ocaml中的反向数组,ocaml,Ocaml,我写这篇文章是为了在OCaml中反转数组,就像我在Java中通常做的那样: let reversearray array = let len=Array.length array in for i=0 to (len/2) do let temp = array.(i) in array.(i) <- array.(len-i-1); array.(len-i-1) <- temp done;

我写这篇文章是为了在OCaml中反转数组,就像我在Java中通常做的那样:

let reversearray array = let len=Array.length array in
        for i=0 to (len/2) do 
            let temp = array.(i) in
            array.(i) <- array.(len-i-1);
            array.(len-i-1) <- temp done;
        array;;

有人能解释一下怎么了吗

假设长度为2。您的for循环正在为i=0和1执行。这会使元素反转两次

通常使用受C语言影响的语言编写循环,如下所示:

for (i = 0; i < len/2; i++)
(i=0;i 这只在i=0时执行,这样做是正确的。OCaml对包括上限值在内的所有值执行循环

for (i = 0; i < len/2; i++)