我如何在OCaml中使用这个小C程序?

我如何在OCaml中使用这个小C程序?,ocaml,Ocaml,如果我执行此代码,则所有代码都可以正常工作: word = "Hello World";; number = 9 ;; let main() = print_string word ;; print_int number ;; main() ;; 问题:我必须在OCaml中为我的大学做一个游戏,它必须是模块化的,我做了一些函数,但现在我不知道如何同时调用它们,o我如何做另一个函数来调用所有函数,最后一个函数返回void。 下一个代码是我正在尝试做的,但我不能: -我有

如果我执行此代码,则所有代码都可以正常工作:

word = "Hello World";;

number = 9 ;;

let main() =

    print_string word ;;
    print_int number ;;

main() ;; 
问题:我必须在OCaml中为我的大学做一个游戏,它必须是模块化的,我做了一些函数,但现在我不知道如何同时调用它们,o我如何做另一个函数来调用所有函数,最后一个函数返回void。 下一个代码是我正在尝试做的,但我不能: -我有一个module Main.ml,它导入一个module Player.ml, 在Player.ml中,我有下一个不起作用的代码:

let print word number = ()

        let fun() =
            print_int number ;;
            print_string word ;;
然后在
Main.ml
中,我有:

let main() =

      print "points player peter " 5 ;;

      print "points player mark" 7 ;;

main();;
所以我正试图用ocaml做一些必要的事情,但我不知道怎么做。。 在C中,我会这样做:

 let print word number =
    print_string word;
    print_int number
Player.print "peter" 18
Player.c中

  void print(char *word, int number){

     fprintf(stdout,"%s", word);
     fprintf(stdout,"%d", number);
  }
Main.c中

int main(void){

print("point player peter ", 5);

print("points player mark", 8);

return 0;

}
我的ocaml代码更复杂,我有记录、递归函数等。。所以我真的需要将以前的C程序转换成Ocaml程序。。我
我想我有问题了。。如果您能帮助我,谢谢:)

您的OCaml代码有很多问题,但我认为最大的问题是,您的函数
print
作为一点OCaml代码没有什么意义

要开始,您可能应该定义
print
如下:

 let print word number =
    print_string word;
    print_int number
Player.print "peter" 18
现在,您可以从以下其他模块调用此函数:

 let print word number =
    print_string word;
    print_int number
Player.print "peter" 18
我还建议您减少使用
在您的代码中。与显然流行的概念相反,
不是每行OCaml代码后都需要的。在我自己的源文件中,没有出现
完全正确

您对
;;的大部分使用应改为

简而言之:
用于告诉顶层(REPL)评估您目前键入的内容<代码>
用于通过忽略第一个表达式的值将两个表达式合并为一个表达式。这只有在命令式上下文中才有意义,其中第一个表达式的类型为
unit


如果您能原谅我坦率地说,在您掌握一些基本技能之前,通过OCaml教程学习可能比在这里寻求StackOverflow方面的帮助更有效率。

什么是
traduce
?法语“translate”来自traduire。@Igna94,请学习如何在StackOverflow中格式化代码。被否决了。是的,我必须。。我是新来的,时间很少。如何生成一段代码?在评论中,你是如何编码的?我读了《帮助购买我不懂的东西》@卡米斯波特