如何在Ocaml中反转数组
所以我正在编写一个代码来在OCaml中反转数组,但我不知道为什么它不起作用。它给我带来语法错误如何在Ocaml中反转数组,ocaml,Ocaml,所以我正在编写一个代码来在OCaml中反转数组,但我不知道为什么它不起作用。它给我带来语法错误 数组。(i)您缺少数组和之间的() 其他语法问题: 您需要在let之后的中输入(模块最外层除外) 两个赋值之间需要分号; 您缺少数组和之间的() 其他语法问题: 您需要在let之后的中输入(模块最外层除外) 两个赋值之间需要分号; 对不起,您有很多小错误。我看到的下一个错误是您在let之后的中缺少。两个作业表达式之间需要一个分号。我假设这是一个作业。因此,您希望了解OCaml,而不仅仅是让某人为您
数组。(i)您缺少
数组
和之间的
(
)
其他语法问题:
- 您需要在
之后的let
中输入
(模块最外层除外)
- 两个赋值之间需要分号
;
数组
和之间的
(
)
其他语法问题:
- 您需要在
之后的let
中输入
(模块最外层除外)
- 两个赋值之间需要分号
;
let
之后的中缺少。两个作业表达式之间需要一个分号。我假设这是一个作业。因此,您希望了解OCaml,而不仅仅是让某人为您编写作业。如果您阅读了让。。。在
表达式中,应该很明显什么需要修复。我自己做的,我知道let和in的意思以及它是如何工作的,但我真的不知道这里出了什么问题。我也搜索过web,但代码对我来说似乎还可以。@JeffreyScofield已经提到:let
在
中必须始终后跟,除了在e最外层。您在赋值之间缺少一个分号。第3行和第4行我没有意识到我使用了两个let语句,我只查看了第一个。现在它可以工作了。谢谢!您有很多小错误,对不起。下一个我看到的是您在let
之后的中缺少。您需要在这两个语句之间使用分号Igment表达式。我假设这是一项作业。所以你想了解OCaml,而不仅仅是让某人为你编写作业。如果你阅读了let…in
表达式,应该很明显什么需要修复。我是一个人做的,我知道let和in的意思以及它是如何工作的,但我真的看不到什么这里是错误的。我也搜索过网络,但代码对我来说似乎还可以。@JeffreyScofield已经提到:let
必须在中后跟,除了最外层。在赋值之间缺少分号。第3行和第4行我还没有意识到我使用了两个let语句,我只看了第一个。现在谢谢!既然你修改了数组,我强烈建议你不要返回它。实际上,使用该函数的代码读者可能会认为原始数组保持不变。很好,谢谢。我认为你需要将行“for I=0 to(len/2)do”替换为“for I=0 to(len/2-1)do”由于您修改了数组,我强烈建议您不要返回它。按原样,使用该函数的代码读者可能会认为原始数组保持不变。好的,谢谢。我认为您需要将行“for I=0 to(len/2)do”替换为“for I=0 to(len/2-1)do”
let reverse array = let len=Array.length array in
for i=0 to (len/2) do
let temp = array.(i)
array.(i) <- array(len-i-1)
array(len-i-1) <- temp
done;
array;;
let reverse 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;;