我如何在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中格式化代码。被否决了。是的,我必须。。我是新来的,时间很少。如何生成一段代码?在评论中,你是如何编码的?我读了《帮助购买我不懂的东西》@卡米斯波特