关于OCaml,你想知道的都在这里

2018-09-30 14:53:58 来源:elecfans
标签:

 

关于OCaml,最早称为Objective Caml,是Caml编程语言的主要实现,开发工具包含交互式顶层解释器,字节码编译器以及最优本地代码编译器。Ocaml有一个巨大标准库,使得可以像Python或者Perl语言一样可以方便地开发各种应用程序。

 

对于程序员来说,OCaml由编程语言社区努力推广,并提供有目标的支持,自动内存管理和设备的便携性。目前可从苹果的App Store获下载OCaml应用程序。通过OCaml语言的应用特性,可以建立一个教代数的网站。


ocaml 简单例子(Linux)

 

 

ocaml 注释

单行注释:

 

 

多行注释:

 

 

OCaml中可以使用嵌套( … *)块, 因此我们可以很容易地注释掉某一块程序。

 

调用函数

在ocaml中,用括号括起参数和用逗号分隔参数是错误的。

 

一般情况下,括号只括起整个函数调用,不要括起函数调用的参数。

 

 

函数定义

 

 

ocaml函数的一些特性:

 

OCaml是强静态类型的语言。(也就是说没有如perl中的动态类型)。

 

OCaml用类型推导(type inference)来找出类型,所以大家无需注明类型。如果你用上述OCaml的toplevel,那么OCaml会显示出它认为的函数类型。

 

OCaml不做任何的隐式转换。如果你需要浮点数,你必须写2.0,因为2是一个整数。OCaml从不执行任何自动类型转换。

 

由于type inference的副作用,OCaml不允许任何形式的重载(包括操作符重载)。它用不同的运算符来表示“两个整数相加”(用+)和“两个浮点数相加”(用+.)。注意后者有一个点号。其他算术运算符( -。, *.,/。 )也是这样。

 

OCaml返回函数的最后的表达式值,因此我们没有必要如C中一样写return。

 

基本类型

int char float bool string unit(void的返回类型)

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
为什么大量的人会觉得FPGA难学?这些道理你都知道吗?

如果想速成,那就上网看视频吧,这样主要是面对应用的,一个小时内让你的板子运行起来。早期起来的快,活学活用,就是后期没有系统理论支持,会有些吃力,特别是大项目,那完全是个悲剧。国内做的可以的,我知道的就是周立功了,艾米电子也可以吧。

想要学习PLC,我们该从何入手?

PLC编程语言符合IEC 61131标准。其中比较主流的语言是模块化的编程语言,也即IEC 61131-3语言。由于所有的PLC生产厂家都必须遵循IEC 61131标准,因此深入学习某一款PLC后,其它的PLC大体上是类似的。

在FPGA的编程语言里,这是你最容易犯的错误

我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常棒的器件。如果在这个智能时代,在这个领域,想拥有一技之长的你还没有关注FPGA,那么世界将抛弃你,时代将抛弃你。

学Python的程序员,摇身一变成凤凰?

不久前 “摩拜单车创始人套现 15 亿:你的同龄人,正在抛弃你” 在朋友圈刷屏,一时引起众多争议。虽然受到了一些意见领袖的反感和声讨,但不可否认的是,这样的言论的确引起了很多人的焦虑。

电子工程师:我是怎么月薪5W的?

我出身在一个普通家庭,家庭条件一般。从小时候起,我就发誓,长大后一定要出人头地,让家里过上好日子。从小好好学习,终于考上了重点大学。最近电子专业很热门,听说赚钱也挺多的,我对电子行业也比较感兴趣,于是大学就报了电子工程专业。

更多资讯
简单几步让你看懂单片机时序图

操作时序永远是使用任何一片IC芯片的最主要的内容,看懂时序图,再操控这个芯片就非常容易了。而提取芯片器件手册上有用的信息是使用芯片的最基本步骤。

如何实现SoC全生命周期的监测?

SoC的设计越来越复杂,上市时间、软硬件集成、系统级验证、系统性能、异构、网络安全/功能安全等都是设计人员需要考虑的因素。流片前,设计师能通过仿真软件进行验证,但是流片过程中很多意想不到的结果,需要在流片后仍能被准确的检测出来。

如何将单片机的波特率作为形参的函数

不管是什么单片机,在使用串口通信的时候,有一个非常重要的参数:波特率。什么是波特率:波特率就是每秒传送的字节数。双方在传输数据的过程中,波特率一致,这是通讯成功的基本保障。

代码分享教你如何使用msp430单片机延时函数

今天看示例程序中出现了__delay_cycles()这个函数,在查找msp430x54x.h这个头文件的时候,发现这个头文件中没有该函数的声明,原来这个函数已经在IAR这个编译器中集成,这里总结一下__delay_cycles();这个函数的具体用法

如何控制51单片机液晶实现计时器的功能?

要想实现人机交互,显示装置是不可缺少的。前面讲到了如何利用单片机控制数码管的显示,这篇文章主要关于如何控制液晶显示,并在此基础上加上定时器的功能,把原来已用数码管显示的定时器搬到液晶屏上来。

Moore8直播课堂
电路方案